Ein weiterer Ansatz für das gleiche Problem. Da es nicht empfohlen wird, jegliche Zugangsdaten im Quellcode zu speichern, haben wir uns entschieden, die Passwörter für den Schlüsselspeicher und den Schlüsselalias in einer separaten Eigenschaftsdatei wie folgt festzulegen:
key.store.password=[SPEICHERPASSWORT]
key.alias.password=[SCHLÜSSEL PASSWORT]
Wenn Sie git verwenden, können Sie eine Textdatei namens, beispielsweise, secure.properties erstellen. Stellen Sie sicher, dass Sie diese aus Ihrem Repository ausschließen (bei Verwendung von git, fügen Sie sie zur .gitignore-Datei hinzu). Anschließend müssten Sie eine Signaturkonfiguration erstellen, wie einige der anderen Antworten bereits erwähnten. Der einzige Unterschied besteht darin, wie Sie die Zugangsdaten laden würden:
android {
...
signingConfigs {
...
release {
storeFile file('[PFAD ZU]/your_keystore_file.jks')
keyAlias "your_key_alias"
File propsFile = file("[PFAD ZU]/secure.properties");
if (propsFile.exists()) {
Properties props = new Properties();
props.load(new FileInputStream(propsFile))
storePassword props.getProperty('key.store.password')
keyPassword props.getProperty('key.alias.password')
}
}
...
}
buildTypes {
...
release {
signingConfig signingConfigs.release
runProguard true
proguardFile file('proguard-rules.txt')
}
...
}
}
Vergessen Sie niemals, die signingConfig manuell dem Release-Build-Typ zuzuweisen (irgendwie gehe ich manchmal davon aus, dass sie automatisch verwendet wird). Außerdem ist es nicht zwingend erforderlich, Proguard zu aktivieren, aber es wird empfohlen.
Wir bevorzugen diesen Ansatz gegenüber der Verwendung von Umgebungsvariablen oder der Anforderung von Benutzereingaben, da dies direkt aus der IDE heraus erfolgen kann, indem Sie zum Release-Build-Typ wechseln und die App ausführen, anstatt den Befehlszeilen zu verwenden.