Skip to content

Instantly share code, notes, and snippets.

@gabrielemariotti
Last active January 12, 2024 17:41
Show Gist options
  • Save gabrielemariotti/6856974 to your computer and use it in GitHub Desktop.
Save gabrielemariotti/6856974 to your computer and use it in GitHub Desktop.
Use signing.properties file which controls which keystore to use to sign the APK with gradle.
android {
signingConfigs {
release
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
def Properties props = new Properties()
def propFile = new File('signing.properties')
if (propFile.canRead()){
props.load(new FileInputStream(propFile))
if (props!=null && props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') &&
props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) {
android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
android.signingConfigs.release.storePassword = props['STORE_PASSWORD']
android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']
} else {
println 'signing.properties found but some entries are missing'
android.buildTypes.release.signingConfig = null
}
}else {
println 'signing.properties not found'
android.buildTypes.release.signingConfig = null
}
STORE_FILE=/path/to/your.keystore
STORE_PASSWORD=yourkeystorepass
KEY_ALIAS=projectkeyalias
KEY_PASSWORD=keyaliaspassword
@IlyaEremin
Copy link

Thanks!

@elbow95
Copy link

elbow95 commented Mar 7, 2016

Thanks!

@tavioto
Copy link

tavioto commented Mar 12, 2016

Thank you!! this solved my problem

@huttarl
Copy link

huttarl commented Apr 7, 2016

Thank you, this helped me solve exactly the same problem you had.

@geraldokandonga
Copy link

Very good thanks alot it also solved my problem the way

@camsteffen
Copy link

@ajitdubey-mob-ibtech
Copy link

ajitdubey-mob-ibtech commented Dec 13, 2017

When I build project found error message

Error:(17, 0) Could not get unknown property 'release' for SigningConfig container of type org.gradle.api.internal.FactoryNamedDomainObjectContainer.

@zdavatz
Copy link

zdavatz commented Feb 2, 2018

Great solution @gabrielemariotti thanks for sharing this!
This is how I did it: zdavatz/generika_android@e16af6f

@zdavatz
Copy link

zdavatz commented Dec 14, 2018

thanks!

@SaundersB
Copy link

Awesome! Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment