Ich denke, viele Entwickler versuchen, mehr über die neue Google Play App Signing-Funktion zu erfahren, die auf der Google I/O 2017 vorgestellt wird.
Die Möglichkeit, den Keystore zum Signieren der Apps in Google Play zu speichern, erspart Ihnen den Aufwand, den Keystore sicher zu speichern, und kann das System dabei unterstützen, die für jedes Gerät bereitgestellten APKs basierend auf Hardware- und Betriebssystemeigenschaften zu optimieren.
Weitere Informationen zu diesem Thema finden Sie in der offiziellen Dokumentation hier: https://developer.Android.com/studio/publish/app-signing.html#google-play-app-signing .
Mit der folgenden Antwort erkläre ich Ihnen die Schritte, die Sie zum Hochladen Ihres ursprünglichen Keystores ausführen müssen, und wie Sie den neuen Upload-Keystore erstellen, den Sie ab diesem Zeitpunkt zum Signieren Ihres APKs benötigen.
Dieses Handbuch richtet sich an Entwickler, die bereits eine Anwendung im Play Store haben. Wenn Sie mit einer neuen App beginnen, ist der Vorgang viel einfacher und Sie können den Richtlinien des Abschnitts "Neue Apps" von hier folgen
Voraussetzungen, die 99% der Entwickler bereits haben :
Android Studio
JDK 8 und nach der Installation müssen Sie eine Umgebungsvariable in Ihrem Benutzerbereich einrichten, um Terminalbefehle zu vereinfachen. In Windows x64 müssen Sie Folgendes hinzufügen: C:\Program Files\Java\{JDK_VERSION}\bin
Zur Umgebungsvariablen Path
. (Wenn Sie nicht wissen, wie das geht, lesen Sie meine Anleitung zu fügen Sie der Windows 10-Umgebungsvariablen Path
einen Ordner hinz ).
Schritt 0 : Öffnen Sie die Google Play-Entwicklerkonsole und gehen Sie zu Release Management -> App Signing.
Akzeptieren Sie die App Signing TOS.
Schritt 1 : Laden Sie das PEPK-Tool herunter, indem Sie auf die Schaltfläche klicken, die mit der Abbildung unten identisch ist
Schritt 2 : Öffnen Sie ein Terminal und geben Sie Folgendes ein:
Java -jar PATH_TO_PEPK --keystore = PATH_TO_KEYSTORE --alias = ALIAS_YOU_USE_TO_SIGN_APK --output = PATH_TO_OUTPUT_FILE --encryptionkey = GOOGLE_ENCRYPTION_KEY
Legende:
C:\Users\YourName\Downloads\pepk.jar
für Windows Benutzer.C:\Android\mykeystore
Oder C:\Android\mykeystore.keystore
Etc ...C:\Android\private_key.pem
eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
Beispiel:
Java-Jar "C:\Users\YourName\Downloads\pepk.jar" --keystore = "C:\Android\mykeystore" --alias = myalias --output = "C:\Android\private_key.pem" - Verschlüsselungsschlüssel = eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd6
Drücken Sie die Eingabetaste und Sie müssen Folgendes eingeben:
Wenn alles in Ordnung ist, befindet sich jetzt eine Datei mit dem Namen private_key.pem
Im Ordner PATH_TO_OUTPUT_FILE.
Schritt 3 : Laden Sie die Datei private_key.pem hoch, indem Sie auf die Schaltfläche klicken, die mit der Abbildung unten identisch ist
Schritt 4 : Erstellen Sie eine neue Keystore-Datei mit Android Studio.
SIE BRAUCHEN DIESEN KEYSTORE IN KÜRZE, UM DIE NÄCHSTEN RELEASES IHRER APP ZU UNTERZEICHNEN. VERGESSEN SIE NICHT DIE PASSWÖRTER
Öffnen Sie eines Ihrer Android Projekte (wählen Sie eines nach dem Zufallsprinzip). Gehen Sie zu Build -> Signierte APK generieren und drücken Sie Neu erstellen.
Nun sollten Sie die erforderlichen Felder ausfüllen.
Der Schlüsselspeicherpfad stellt den neuen Schlüsselspeicher dar, den Sie erstellen werden. Wählen Sie einen Ordner und einen Namen mithilfe des 3-Punkt-Symbols auf der rechten Seite aus. Ich habe
C:\Android\upload_key.jks
Ausgewählt. (Die Erweiterung .jks wird automatisch hinzugefügt.)ANMERKUNG: Ich habe
upload
als neuen Aliasnamen verwendet. Wenn Sie jedoch zuvor denselben Keystore mit unterschiedlichen Aliasnamen zum Signieren verschiedener Apps verwendet haben, sollten Sie denselben Aliasnamen auswählen, den Sie zuvor im ursprünglichen Keystore hatten.
Drücken Sie OK, wenn Sie fertig sind, und Sie haben jetzt einen neuen upload_key.jks
- Schlüsselspeicher. Sie können Android Studio jetzt schließen.
Schritt 5 : Wir müssen das Upload-Zertifikat aus dem neu erstellten Keystore upload_key.jks
Extrahieren. Öffnen Sie ein Terminal und geben Sie Folgendes ein:
keytool -export -rfc -keystore UPLOAD_KEYSTORE_PATH -alias UPLOAD_KEYSTORE_ALIAS -file PATH_TO_OUTPUT_FILE
Legende:
C:\Android\upload_key.jks
.upload
.C:\Android\upload_key_public_certificate.pem
.Beispiel:
keytool -export -rfc -keystore "C:\Android\upload_key.jks" -alias upload -file "C:\Android\upload_key_public_certificate.pem"
Drücken Sie die Eingabetaste und Sie müssen das Keystore-Passwort eingeben.
Wenn alles in Ordnung ist, befindet sich im Ordner PATH_TO_OUTPUT_FILE eine Datei mit dem Namen upload_key_public_certificate.pem
.
Schritt 6 : Laden Sie die upload_key_public_certificate.pem
- Datei hoch, indem Sie auf die Schaltfläche klicken, die mit der Abbildung unten identisch ist
Schritt 7 : Klicken Sie auf die Schaltfläche [~ # ~] [~ # ~] am Ende der App-Signatur Seite.
Jetzt muss jedes neue Release-APK mit dem Keystore upload_key.jks
Und den in Schritt 4 erstellten Aliasnamen signiert werden, bevor es in Google Play hochgeladen werden kann Entwicklerkonsole.
Mehr Ressourcen:
F: Wenn ich die mit dem neuen upload_key-Keystore signierte APK hochlade, zeigt Google Play einen Fehler wie: Sie haben eine nicht signierte APK hochgeladen. Sie müssen eine signierte APK erstellen.
A: Überprüfen Sie, ob Sie die APK mit beiden Signaturen (V1 und V2) signieren, während Sie die Release-APK erstellen. Lesen Sie hier für weitere Details.
In den Schritten 4,5,6 wird ein Upload-Schlüssel erstellt, der für vorhandene Apps optional ist
"Upload-Schlüssel (optional für vorhandene Apps): Ein neuer Schlüssel, den Sie bei der Registrierung im Programm generieren. Mit dem Upload-Schlüssel signieren Sie alle zukünftigen APKs, bevor Sie sie auf die Play Console hochladen." https://support.google.com/googleplay/Android-developer/answer/738442
Es gibt eine viel einfachere Lösung, die eine Minute dauern wird.
Getan!
Jetzt können Sie Ihre zuvor erstellte Version hochladen :) Viel Glück!
Wenn Sie Fabric für öffentliche Betaversionen (signiert mit prod config) verwenden, verwenden Sie NICHT Google Play App Signing. Sie müssen nach dem Bau zwei signierte Apks!
Wenn Sie mehr Playstores (Samsung, Amazon, Xiaomi, ...) verteilen, müssen Sie erneut zwei signierte Apks erstellen.
Seien Sie also mit Google Play App Signing wirklich vorsichtig.
Es ist nicht möglich, es zurückzusetzen:/ und Google Play hat mit dem Produktionsschlüssel signierte Apks nicht akzeptiert. Nach der Aktivierung der Google Play App-Signatur wird nur der Upload-Schlüssel akzeptiert ...
Es erschwert die CI-Verteilung wirklich ...
Nächste Probleme mit dem Upgrade: https://issuetracker.google.com/issues/69285256
Ich musste folgendes tun:
2.Gehen Sie zu App-Releases -> Produktion verwalten -> Release erstellen
3.Klicken Sie auf Google Play App Signing fortsetzen
4.Erstellen Sie das Upload-Zertifikat, indem Sie "keytool -genkey -v -keystore c:\path\to\cert.keystore -alias uploadKey -keyalg RSA -keysize 2048 -validity 10000" ausführen.
5.Signiere deine Apk mit dem generierten Zertifikat (c:\path\to\cert.keystore)
6.Upload signierte apk in App-Releases -> Produktion verwalten -> Release bearbeiten
7.Beim Hochladen von apk wurde das in Schritt 4 erstellte Zertifikat zu App-Signaturzertifikaten hinzugefügt und wurde zu Ihrem Signaturzertifikat für alle zukünftigen Builds.
I face this issue when i am trying to migrate Apk to Android App Bundle means publishing .aab instand of .apk file..
while building .aab file its will ask the location to store key export path.
as below
Im zweiten Bild finden Sie den Exportpfad für den verschlüsselten Schlüssel. Speicherort, an dem unser .pepk beim Generieren der .aab-Datei im entsprechenden Ordner gespeichert wird.
In Google Play Console once you login with Play Store credential
select your project from left side choose App Signing option Release Management>>App Signing
sie werden das Fenster Google App Signing Certification finden. Akzeptieren Sie es.
Danach finden Sie drei Auswahlknöpfe **
Laden Sie einen Schlüssel hoch, der aus dem Optionsfeld Android Studio) exportiert wurde
**, es wird die APP SIGNING PRIVATE KEY-Taste wie folgt erweitern
click on the button and choose the .pepk file (We Stored while generating .aab file as above)
Read the all other option and submit.
Nach dem erfolgreichen Start können Sie zur App-Veröffentlichung zurückkehren und die .aab-Datei durchsuchen und RollOut ...
@Ambilpura
Mach Folgendes :
"CREATE APPLICATION" having the same name which you want to upload before.
Click create.
After creation of the app now click on the "App releases"
Click on the "MANAGE PRODUCTION"
Click on the "CREATE RELEASE"
Here you see "Google Play App Signing" dialog.
Just click on the "OPT-OUT" button.
It will ask you to confirm it. Just click on the "confirm" button