android-gradle
Skonfiguruj ustawienia podpisywania
Szukaj…
Skonfiguruj build.gradle z konfiguracją podpisywania
Możesz zdefiniować konfigurację podpisywania, aby podpisać apk w pliku build.gradle
.
Możesz zdefiniować:
-
storeFile
: plik kluczy -
storePassword
: hasło dostorePassword
kluczy -
keyAlias
: nazwa aliasu klucza -
keyPassword
: Hasło aliasu klucza
Musisz zdefiniować blok signingConfigs
, aby utworzyć konfigurację podpisywania:
android {
signingConfigs {
myConfig {
storeFile file("myFile.keystore")
storePassword "myPasswork"
keyAlias "aKeyAlias"
keyPassword "myAliasPassword"
}
}
//....
}
Następnie możesz przypisać go do jednego lub więcej typów kompilacji.
android {
buildTypes {
release {
signingConfig signingConfigs.myConfig
}
}
}
Zdefiniuj konfigurację podpisywania w pliku zewnętrznym
Możesz zdefiniować konfigurację podpisywania w pliku zewnętrznym jako signing.properties
w katalogu głównym swojego projektu.
Na przykład możesz zdefiniować te klucze (możesz użyć swoich ulubionych nazw):
STORE_FILE=myStoreFileLocation
STORE_PASSWORD=myStorePassword
KEY_ALIAS=myKeyAlias
KEY_PASSWORD=mykeyPassword
Następnie w pliku build.gradle:
android {
signingConfigs {
release
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
Następnie możesz wprowadzić pewne kontrole, aby uniknąć problemów stopniowych w procesie kompilacji.
//------------------------------------------------------------------------------
// 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
}
Zdefiniuj zmienne środowiskowe ustawienia konfiguracji podpisywania
Możesz przechowywać zmienne środowiskowe informacji o podpisywaniu.
Dostęp do tych wartości można uzyskać za pomocą System.getenv("<VAR-NAME>")
W swoim build.gradle
możesz zdefiniować:
signingConfigs {
release {
storeFile file(System.getenv("KEYSTORE"))
storePassword System.getenv("KEYSTORE_PASSWORD")
keyAlias System.getenv("KEY_ALIAS")
keyPassword System.getenv("KEY_PASSWORD")
}
}
Zdefiniuj konfigurację podpisywania w osobnym pliku ocen
Najprostszym i najczystszym sposobem na dodanie konfiguracji zewnętrznej jest osobny plik Gradle
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'
]
Plik keystore.gradle może istnieć w dowolnym miejscu w systemie plików, możesz określić jego lokalizację w aplikacji, apply from: ''
u góry pliku gradle lub na końcu głównego pliku build.gradle głównego projektu.
Zazwyczaj dobrym pomysłem jest zignorowanie tego pliku z systemu kontroli wersji, takiego jak git, jeśli znajduje się on w repozytorium.
Dobrym pomysłem jest również podanie przykładowego pliku keystore.gradle.sample
który programiści wchodzący do projektu zmieniliby i zmienili na swoim komputerze programistycznym. Ten plik będzie zawsze zawarty w repozytorium we właściwej lokalizacji.