web-dev-qa-db-de.com

So aktivieren Sie die Google Play-App-Signatur

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.

80
MatPag

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 :

  1. Android Studio

  2. 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.

enter image description here

Akzeptieren Sie die App Signing TOS.

enter image description here

Schritt 1 : Laden Sie das PEPK-Tool herunter, indem Sie auf die Schaltfläche klicken, die mit der Abbildung unten identisch ist

enter image description here

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:

  • PATH_TO_PEPK = Der Pfad zu der pepk.jar, die Sie in Schritt 1 heruntergeladen haben, könnte so etwas wie C:\Users\YourName\Downloads\pepk.jar für Windows Benutzer.
  • PATH_TO_KEYSTORE = Pfad zum Keystore, mit dem Sie Ihr Release-APK signieren. Kann eine Datei vom Typ * .keystore oder * .jks oder ohne Erweiterung sein. So etwas wie C:\Android\mykeystore Oder C:\Android\mykeystore.keystore Etc ...
  • ALIAS_YOU_USE_TO_SIGN_APK = Der Name des Alias, mit dem Sie das Release-APK signieren.
  • PATH_TO_OUTPUT_FILE = Der Pfad der Ausgabedatei mit der Erweiterung .pem, etwa C:\Android\private_key.pem
  • GOOGLE_ENCRYPTION_KEY = Dieser Verschlüsselungsschlüssel sollte immer gleich sein. Sie finden es auf der Seite App Signing, kopieren Sie es und fügen Sie es ein. Sollte in dieser Form sein: 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:

  1. Das Keystore-Passwort
  2. Das Alias-Passwort

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

enter image description here

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.

enter image description here

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.

enter image description here

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:

  • UPLOAD_KEYSTORE_PATH = Der Pfad des gerade erstellten Upload-Keystores. In diesem Fall war C:\Android\upload_key.jks.
  • UPLOAD_KEYSTORE_ALIAS = Der neue Alias, der dem Upload-Keystore zugeordnet ist. In diesem Fall war upload.
  • PATH_TO_OUTPUT_FILE = Der Pfad zur Ausgabedatei mit der Erweiterung .pem. So etwas wie 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

enter image description here

Schritt 7 : Klicken Sie auf die Schaltfläche [~ # ~] [~ # ~] am Ende der App-Signatur Seite.

enter image description here

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:

QA

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.

[~ # ~] aktualisiert [~ # ~]

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

157
MatPag

Es gibt eine viel einfachere Lösung, die eine Minute dauern wird.

  1. Wählen Sie in der Google Play-Konsole Versionsverwaltung -> App-Signierung
  2. Wählen Sie die erste Option, die mit Verschlüsselten privaten Schlüssel mit Android Studio (oder so ähnlich; ich kann nicht mehr zurückkehren, um diese Seite zu sehen).
  3. In Android Studio generieren Sie Ihr Android App-Bundle (.aap-Datei) aus Build -> Signiertes Bundle/APK generieren ... , wählen Sie Android App Bundle Option und vergessen Sie nicht, die Option Verschlüsselten Schlüssel exportieren (erforderlich, um Ihre App zu registrieren Google Play App-Signatur) zu aktivieren Keystore generiert, generiere einen Ad-hoc.
  4. Nun der "knifflige" Teil. Nachdem die .aap-Datei generiert wurde, zeigt Android Studio in der unteren rechten Ecke eine Benachrichtigung an, die einen Pfad zum Speicherort der .aap-Datei enthält. Wenn Sie möchten, in derselben Benachrichtigung Wenn Sie es erweitern, finden Sie einen weiteren Link zu dem Pfad, in dem der private Schlüssel gespeichert wurde (genannt private_key.pepk . Wenn Sie diese Benachrichtigung verpassen, tun Sie dies nicht Sorgen Sie sich, öffnen Sie einfach das Fenster Ereignisprotokoll , indem Sie auf die Schaltfläche Ereignisprotokoll klicken Unten rechts finden Sie die gleichen Informationen. Öffnen Sie diesen Speicherort. Für mich war C:\Users\yourUser\.Android

enter image description here

  1. Gehen Sie zurück in den Browser und drücken Sie die APP SIGNING PRIVATE KEY-Taste und navigieren Sie zum Speicherort des privaten Schlüssels auf Ihrem Computer.

Getan!

Jetzt können Sie Ihre zuvor erstellte Version hochladen :) Viel Glück!

20
Marius Tanasoiu

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

4
mtrakal

Ich musste folgendes tun:

  1. Erstellen Sie eine App in der Google Play-Konsole enter image description here

2.Gehen Sie zu App-Releases -> Produktion verwalten -> Release erstellen

3.Klicken Sie auf Google Play App Signing fortsetzen enter image description here

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.

3
itfake
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 

enter image description here
enter image description here 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

enter image description here

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

enter image description here

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
1
Sterling Diaz