android-gradle
Konfigurera signeringsinställningar
Sök…
Konfigurera build.gradle med signeringskonfiguration
Du kan definiera signeringskonfigurationen för att signera apk i filen build.gradle
.
Du kan definiera:
-
storeFile
: keystore-filen -
storePassword
: keystore-lösenordet -
keyAlias
: ett nyckel alias namn -
keyPassword
: Ett nyckelaliaslösenord
Du måste definiera signingConfigs
blocket för att skapa en signeringskonfiguration:
android {
signingConfigs {
myConfig {
storeFile file("myFile.keystore")
storePassword "myPasswork"
keyAlias "aKeyAlias"
keyPassword "myAliasPassword"
}
}
//....
}
Sedan kan du tilldela den till en eller flera byggtyper.
android {
buildTypes {
release {
signingConfig signingConfigs.myConfig
}
}
}
Definiera signeringskonfigurationen i en extern fil
Du kan definiera signeringskonfigurationen i en extern fil som signing.properties
i rotkatalogen för ditt projekt.
Till exempel kan du definiera dessa tangenter (du kan använda dina favoritnamn):
STORE_FILE=myStoreFileLocation
STORE_PASSWORD=myStorePassword
KEY_ALIAS=myKeyAlias
KEY_PASSWORD=mykeyPassword
Sedan i din build.gradle-fil:
android {
signingConfigs {
release
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
Sedan kan du introducera några kontroller för att undvika graderingsproblem i byggprocessen.
//------------------------------------------------------------------------------
// 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
}
Definiera miljövariabler för inställning för signeringskonfiguration
Du kan lagra miljövariabler för inställningar för signeringsinformation.
Dessa värden kan nås med System.getenv("<VAR-NAME>")
I din build.gradle
du definiera:
signingConfigs {
release {
storeFile file(System.getenv("KEYSTORE"))
storePassword System.getenv("KEYSTORE_PASSWORD")
keyAlias System.getenv("KEY_ALIAS")
keyPassword System.getenv("KEY_PASSWORD")
}
}
Definiera signeringskonfiguration i en separat gradfil
Det enklaste och renaste sättet att lägga till en extern konfiguration är genom en separat Gradle-fil
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'
]
Keystore.gradle-filen kan existera var som helst i ditt filsystem, du kan ange dess plats i apply from: ''
högst upp i din gradfil eller i slutet av din huvudprojekt build.gradle-fil.
Det är vanligtvis en bra idé att ignorera den här filen från versionskontrollsystem som git om den finns i din repo.
Det är också en bra idé att tillhandahålla ett exempel keystore.gradle.sample
vilka utvecklare som kommer in i projektet skulle byta namn på och fylla på sin utvecklingsmaskin. Denna fil kommer alltid att finnas i repan på rätt plats.