android-gradle
Ondertekeningsinstellingen configureren
Zoeken…
Configureer de build.gradle met ondertekeningsconfiguratie
U kunt de ondertekeningsconfiguratie definiëren om de apk te ondertekenen in het bestand build.gradle
.
U kunt definiëren:
-
storeFile
: het keystore-bestand -
storePassword
: het sleutelarchiefwachtwoord -
keyAlias
: een belangrijke aliasnaam -
keyPassword
: een key alias-wachtwoord
U moet het blok signingConfigs
definiëren om een handtekeningconfiguratie te maken:
android {
signingConfigs {
myConfig {
storeFile file("myFile.keystore")
storePassword "myPasswork"
keyAlias "aKeyAlias"
keyPassword "myAliasPassword"
}
}
//....
}
Vervolgens kunt u het toewijzen aan een of meer buildtypen.
android {
buildTypes {
release {
signingConfig signingConfigs.myConfig
}
}
}
Definieer de ondertekeningsconfiguratie in een extern bestand
U kunt de ondertekeningsconfiguratie in een extern bestand definiëren als signing.properties
in de hoofdmap van uw project.
U kunt bijvoorbeeld deze toetsen definiëren (u kunt uw favoriete namen gebruiken):
STORE_FILE=myStoreFileLocation
STORE_PASSWORD=myStorePassword
KEY_ALIAS=myKeyAlias
KEY_PASSWORD=mykeyPassword
Vervolgens in uw build.gradle-bestand:
android {
signingConfigs {
release
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
Vervolgens kunt u enkele controles invoeren om graduele problemen in het bouwproces te voorkomen.
//------------------------------------------------------------------------------
// Signing
//------------------------------------------------------------------------------
def Properties props = new Properties()
def propFile = file('../signing.properties')
if (propFile.canRead()) {
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 {
android.buildTypes.release.signingConfig = null
}
} else {
android.buildTypes.release.signingConfig = null
}
Definieer de omgevingsvariabelen voor de ondertekeningsconfiguratie-instellingen
U kunt de omgevingsvariabelen voor het instellen van ondertekeningsinformatie opslaan.
Deze waarden zijn toegankelijk met System.getenv("<VAR-NAME>")
In uw build.gradle
kunt u het volgende definiëren:
signingConfigs {
release {
storeFile file(System.getenv("KEYSTORE"))
storePassword System.getenv("KEYSTORE_PASSWORD")
keyAlias System.getenv("KEY_ALIAS")
keyPassword System.getenv("KEY_PASSWORD")
}
}
Definieer de ondertekeningsconfiguratie in een afzonderlijk gradle-bestand
De eenvoudigste en schoonste manier om een externe configuratie toe te voegen, is via een afzonderlijk Gradle-bestand
build.gradle
apply from: './keystore.gradle'
android{
signingConfigs {
release {
storeFile file(keystore.storeFile)
storePassword keystore.storePassword
keyAlias keystore.keyAlias
keyPassword keystore.keyPassword
}
}
}
keystore.gradle
ext.keystore = [
storeFile : "/path/to/your/file",
storePassword: 'password of the store',
keyAlias : 'alias_of_the_key',
keyPassword : 'password_of_the_key'
]
Het keystore.gradle-bestand kan overal in uw bestandssysteem bestaan, u kunt de locatie binnen de apply from: ''
opgeven apply from: ''
bovenaan uw gradle-bestand of aan het einde van uw hoofdproject build.gradle-bestand.
Het is meestal een goed idee om dit bestand van het versiebeheersysteem zoals git te negeren als het zich in je repo bevindt.
Het is ook een goed idee om een voorbeeld van keystore.gradle.sample
te bieden die ontwikkelaars die het project betreden, zouden hernoemen en invullen op hun ontwikkelmachine. Dit bestand zou zich altijd in de repo op de juiste locatie bevinden.