Signiert Android Studio Debug-Builds? Wenn ja, wo befindet sich der dafür verwendete Keystore?
Signiert Android Studio Debug-Builds? Wenn ja, wo befindet sich der dafür verwendete Keystore?
Antworten:
Es befindet sich am selben Ort: ~/.android/debug.keystore
Wenn Sie Windows verwenden, lautet der Speicherort wahrscheinlich wie folgt:
C: \ User \ YourUser \ .android \ debug.keystore
Wenn Sie möchten, können Sie Ihren eigenen Debug-Keystore angeben. Diese Lösung bietet Ihnen auch die Möglichkeit, Ihre Schlüssel außerhalb des Projektverzeichnisses zu speichern und die Automatisierung beim Signieren zu genießen. Ja, Sie können auf File -> Project Structure
der Signing
Registerkarte signierende Schlüsselspeicher und Kennwörter zuweisen und diese zuweisen. Dadurch werden jedoch Klartexteinträge in Ihre gradle.build-Datei eingefügt, was bedeutet, dass Ihre Geheimnisse möglicherweise offengelegt werden (insbesondere bei Repository-Commits). Mit dieser Lösung erhalten Sie die Kontrolle über die Verwendung Ihres eigenen Keystores und die Magie der Automatisierung während Debug- und Release-Builds.
1) Erstellen Sie eine gradle.properties (falls Sie noch keine haben).
Der Speicherort für diese Datei hängt von Ihrem Betriebssystem ab:
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
2) Fügen Sie einen Eintrag hinzu, der auf die yourprojectname.properties
Datei verweist .
(Beispiel für Windows)
yourprojectname.properties=c:\\Users\\<username>\\signing\\yourprojectname.properties
3) Erstellen Sie eine yourprojectname.properties
Datei an dem in Schritt 2 angegebenen Speicherort mit den folgenden Informationen:
keystore=C:\\path\\to\\keystore\\yourapps.keystore
keystore.password=your_secret_password
4) Ändern Sie Ihre gradle.build
Datei so, dass sie auf die yourprojectname.properties
Datei zeigt, um die Variablen zu verwenden.
if(project.hasProperty("yourprojectname.properties")
&& new File(project.property("yourprojectname.properties")).exists()) {
Properties props = new Properties()
props.load(new FileInputStream(file(project.property("yourprojectname.properties"))))
android {
signingConfigs {
release {
keyAlias 'release'
keyPassword props['keystore.password']
storeFile file(props['keystore'])
storePassword props['keystore.password']
}
debug {
keyAlias 'debug'
keyPassword props['keystore.password']
storeFile file(props['keystore'])
storePassword props['keystore.password']
}
}
compileSdkVersion 19
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "your.project.app"
minSdkVersion 16
targetSdkVersion 17
}
buildTypes {
release {
}
}
}
}
dependencies {
...
}
5) Viel Spaß! Jetzt befinden sich alle Ihre Schlüssel außerhalb des Stammverzeichnisses des Verzeichnisses, und dennoch haben Sie für jeden Build die Freude an der Automatisierung.
Wenn in Ihrer gradle.build-Datei ein Fehler bezüglich der Variablen "props" angezeigt wird, liegt dies daran, dass Sie den Block "android {}" nicht in der allerersten if
Bedingung ausführen, in der die props
Variable zugewiesen wird. Verschieben Sie also einfach den gesamten android {... } Abschnitt in den Zustand, in dem die Requisitenvariable zugewiesen ist, und versuchen Sie es erneut.
Ich habe diese Schritte aus den hier und hier gefundenen Informationen zusammengesetzt .
Der Dateipfad von Android Studio debug.keystore hängt von der Umgebungsvariablen ANDROID_SDK_HOME ab.
Wenn ANDROID_SDK_HOME definiert ist, wird die Datei im Unterordner des SDK mit dem Namen .android abgelegt .
Wenn nicht definiert, wird der Schlüsselspeicher im Home-Pfad des Benutzers im selben Unterordner abgelegt :
- % HOMEPATH% \. Android \ unter Windows
- $ HOME / .android / unter Linux
Hier ist, wie ich endlich die Datei ~ / .android / debug.keystore erstellt habe.
Zuerst einige Hintergrundinformationen. Ich habe einen neuen Reiselaptop bekommen. Installiertes Android Studio. Mein Android-Projekt vom Git Hub geklont. Das Projekt würde nicht ausgeführt. Endlich herausgefunden, dass der debug.keystore nicht erstellt wurde ... und ich konnte nicht herausfinden, wie ich Android Studio dazu bringen kann, ihn zu erstellen.
Schließlich habe ich ein neues leeres Projekt erstellt ... und das hat den debug.keystore erstellt!
Hoffe das hilft anderen, die dieses Problem haben.
Wenn Sie Windows verwenden, finden Sie Folgendes: Datei -> Projektstruktur -> Facetten
Wählen Sie Ihr Android-Projekt aus und klicken Sie im Fenster "Facette 'Android'" auf TAB "Verpackung". Sie finden, was Sie wollen