Ich habe noch nie Passwörter für meinen Keystore und meinen Alias ​​festgelegt. Wie werden sie erstellt?

137

Als ich einige Beiträge im Internet durchgesehen habe , in denen ich mehr über das Signieren Ihrer Android-App erfahren habe , habe ich Beiträge zum Signieren der App und Informationen darüber erhalten, was passiert, wenn Sie Ihre Keystore-Datei oder Ihr Kennwort verloren haben.

Die Frage, die ich hier stellen möchte, ist, dass ich noch nie einen Keystore oder seinen Alias ​​oder sein Passwort erstellt habe. Wie um alles in der Welt kann ich das vergessen?

Ich weiß, dass wir für Android das Passwort Android verwenden . Wenn das Passwort standardmäßig Android ist, wie kann man es dann vergessen? (Ich bin sicher, es muss einen anderen Weg geben, um neue Schlüsselspeicher zu erstellen).

Wenn Android das Standardkennwort ist, wie lautet der Standardalias?

Anas Azeem
quelle

Antworten:

409

Anmelden im Debug-Modus

Die Android-Build-Tools bieten einen Debug-Signaturmodus, mit dem Sie Ihre Anwendung einfacher entwickeln und debuggen können und gleichzeitig die Android-Systemanforderungen für das Signieren Ihrer APK erfüllen. Wenn Sie den Debug-Modus zum Erstellen Ihrer App verwenden, rufen die SDK-Tools Keytool auf, um automatisch einen Debug-Keystore und -Schlüssel zu erstellen. Dieser Debug-Schlüssel wird dann verwendet, um die APK automatisch zu signieren, sodass Sie das Paket nicht mit Ihrem eigenen Schlüssel signieren müssen.

Die SDK-Tools erstellen den Debug-Keystore / Schlüssel mit vorgegebenen Namen / Passwörtern:

Keystore name: "debug.keystore"
Keystore password: "android"
Key alias: "androiddebugkey"
Key password: "android"
CN: "CN=Android Debug,O=Android,C=US"

Bei Bedarf können Sie den Speicherort / Namen des Debug-Keystores / Schlüssels ändern oder einen benutzerdefinierten Debug-Keystore / -Schlüssel zur Verwendung bereitstellen. Jeder benutzerdefinierte Debug-Keystore / Schlüssel muss jedoch dieselben Keystore / Key-Namen und -Kennwörter wie der Standard-Debug-Schlüssel (wie oben beschrieben) verwenden. (Gehen Sie dazu in Eclipse / ADT zu Windows> Einstellungen> Android> Erstellen .)

Achtung: Sie können Ihre Anwendung nicht für die Öffentlichkeit freigeben, wenn Sie mit dem Debug-Zertifikat signiert sind.

Quelle: Developer.Android

Gemeinschaft
quelle
Das war sehr informativ. Akzeptiere es als Antwort. Noch eine Frage, Sir. Hat ein einzelner Schlüsselspeicher viele Schlüssel oder sind Schlüsselspeicher und Schlüssel dasselbe?
Anas Azeem
Ein Schlüsselspeicher kann viele Schlüssel haben und Sie müssen einen anderen Alias ​​für die Schlüssel erstellen. Ich denke, jetzt ist der Unterschied zwischen Schlüssel und Schlüsselspeicher klar. Schlüsselspeicher ist Schlüsselcontainer
Ich habe es zum Signieren einer nicht signierten apk verwendet, die ich nicht installieren konnte: jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~ ​​/ .android / debug.keystore my_unsigned.apk androiddebugkey Danke
Ivan Morgillo
@ user2730944 Könnten Sie bitte feiern, wie Sie herausfinden, welches Passwort "android" ist, wie aus der Quelle, die Sie angegeben haben, die nicht ersichtlich ist?
spin_eight
22

Wenn Sie sie in Gradle konfigurieren möchten, sollte es so aussehen

signingConfigs {
        debug {
            storeFile file('PATH_TO_HOME/.android/debug.keystore')
            storePassword 'android'                   
            keyAlias 'AndroidDebugKey'
            keyPassword 'android'                     
        }
        ...
}
Sogar Cheng
quelle
3

Wenn wir die Anwendung in Eclipse ausführen, ist apk generate standardmäßig ein Keystore, der von Android bereitgestellt wird.

Wenn Sie Ihre Anwendung jedoch im Play Store hochladen möchten, müssen Sie einen eigenen Keystore erstellen. Eclipse bietet bereits eine GUI-Oberfläche zum Erstellen eines neuen Keystores. Sie können den Keystore auch über die Befehlszeile erstellen.

Standardalias ist

androiddebugkey
Biraj Zalavadia
quelle
Vielen Dank für Ihre Antwort, aber jede Idee, wie lautet das Passwort für den Schlüssel, da das Passwort für den Keystore "android" war (wenn ich mich nicht irre)
Anas Azeem
@ AnasAzeem siehe meine Antwort
3
Keystore name: "debug.keystore"

Keystore password: "android"

Key alias: "androiddebugkey"

Key password: "android"

Ich verwende diese Informationen und generiere erfolgreich signierte APK.

Rubel Hasan
quelle
2

Besser als alle Optionen können Sie festlegen signingConfig, dass Sie gleich Ihren sind debug.signingConfig. Dazu müssen Sie nur Folgendes tun:

android {
  ...
  buildTypes {
    ...
    wantedBuildType {
      signingConfig debug.signingConfig
    }
  }
}

Damit müssen Sie nicht wissen, wo debug.keystoresich die App befindet. Die App funktioniert für alle Teams, auch wenn jemand eine andere Umgebung verwendet.

Brunodles
quelle
Ausgezeichnet! Dies ist die übersichtliche Methode, um einen Build-Typ von debugProguard installierbar zu machen.
Jerry101
1

All diese Antworten und es fehlt NOCH nur eine. Stellen Sie beim Erstellen Ihrer Authentifizierungsdaten im Google API-Bereich der Entwicklungskonsole sicher, dass Sie (insbesondere wenn es Ihre erste ist) auf die Option "Zustimmungsbildschirm" geklickt haben. Wenn Sie den 'Titel' und kein anderes erforderliches Feld ausgefüllt haben, schlägt der Anruf mit dieser Option fehl.

user1318747
quelle