App unterschreiben

Android erfordert, dass alle APKs vor dem Wechsel mit einem Zertifikat digital signiert werden. auf einem Gerät installiert oder aktualisiert werden. Bei Veröffentlichung per Android-App Bundles handelt, müssen Sie Ihr App Bundle mit einem Upload signieren. bevor Sie ihn in die Play Console hochladen. Mit Play App Signing den Rest. Für Apps, die über APKs im Play Store oder über andere Apps vertrieben werden speichert, müssen Sie Ihre APKs manuell für den Upload signieren.

Auf dieser Seite werden einige wichtige Konzepte im Zusammenhang mit der App-Signatur und Sicherheit, wie du deine App mit Android Studio für die Veröffentlichung bei Google Play signierst, und zur Konfiguration der Play App-Signatur.

Im Folgenden finden Sie eine allgemeine Übersicht über die Schritte, die Sie möglicherweise unternehmen müssen, um neue App signieren und bei Google Play veröffentlichen:

  1. Uploadschlüssel und Schlüsselspeicher generieren
  2. App mit Uploadschlüssel signieren
  3. Google Play App-Signatur konfigurieren
  4. App bei Google Play hochladen
  5. Vorbereiten und Release deiner App einführen

Wenn Ihre App stattdessen bereits im Google Play Store mit einem vorhandenen App-Signaturschlüssel verwenden oder den App-Signaturschlüssel für einen App erstellen, anstatt sie von Google generieren zu lassen, gehen Sie so vor:

  1. Signieren Sie Ihre App mit dem Signaturschlüssel Ihrer App.
  2. Laden Sie den Signaturschlüssel Ihrer App in Play App Signing hoch.
  3. Empfohlen: Uploadzertifikat generieren und registrieren für zukünftige App-Updates
  4. App bei Google Play hochladen
  5. Vorbereiten und Release deiner App einführen

Auf dieser Seite wird auch erläutert, wie Sie Ihre eigenen Schlüssel beim Hochladen Ihrer App verwalten mit anderen App-Shops. Wenn Sie Android Studio nicht verwenden oder Ihr App über die Befehlszeile ausführen, erfahren Sie, wie Sie apksigner

Play App Signing

Mit Play App Signing verwaltet und schützt Google die Signatur deiner App und verwendet ihn, um Ihre APKs für den Vertrieb zu signieren. Da App-Kampagnen das Erstellen und Signieren von APKs im Google Play Store verschieben, müssen Sie die Play App-Signatur konfigurieren, bevor Sie Ihr App Bundle hochladen. Vorgehensweise bietet folgende Vorteile:

  • Verwenden Sie das Android App Bundle und unterstützen Sie die erweiterten Übermittlungsmodi von Google Play. Mit dem Android App Bundle wird Ihre App viel kleiner, Ihre Releases sind einfacher, und ermöglicht die Verwendung von Funktionsmodulen und bietet Instant-Funktionen.
  • Erhöhen Sie die Sicherheit Ihres Signaturschlüssels und ermöglichen Sie die Verwendung eines separaten Uploadschlüssel, um das App Bundle zu signieren, das Sie bei Google Play hochladen.
  • Mit der Schlüsselaktualisierung kannst du deinen App-Signaturschlüssel ändern falls das vorhandene Konto kompromittiert wurde oder wenn Sie zu einem kryptografisch stärkerer Schlüssel

Für die Play App-Signatur werden zwei Schlüssel verwendet: den App-Signaturschlüssel und den Upload Schlüssel, die im Abschnitt über Schlüssel und Schlüsselspeicher. Du behältst den Uploadschlüssel und verwendest ihn zum Signieren Ihre App für den Upload in den Google Play Store hochladen. Google verwendet das Uploadzertifikat um deine Identität zu bestätigen, und signiert deine APKs mit deinem App-Signaturschlüssel für wie in Abbildung 1 dargestellt. Mit einem separaten Uploadschlüssel Zurücksetzen des Uploadschlüssels anfordern falls Ihr Schlüssel verloren geht oder kompromittiert wird.

Für Apps, die Google Play nicht aktiviert haben, Bei der App-Signatur können Sie die App nicht mehr aktualisieren, wenn Sie den Signaturschlüssel Ihrer App verlieren.

Abbildung 1: Apps mit Play App Signing signieren

Ihre Schlüssel werden in derselben Infrastruktur gespeichert, die Google für ihre Schlüssel verwalten und durch den Key Management Service von Google geschützt. Sie können erfahren Sie in den Whitepaper zur Sicherheit in Google Cloud.

Wenn Sie die Play App-Signatur verwenden, Ihren Uploadschlüssel verlieren oder er gehackt wurde, können Sie in der Play Console das Zurücksetzen des Uploadschlüssels anfordern. Da Ihr App-Signaturschlüssel von Google geschützt wird, können Sie laden Sie weiterhin neue Versionen Ihrer App als Updates für die ursprüngliche App hoch, auch wenn Sie die Uploadschlüssel ändern. Weitere Informationen finden Sie unter Verlorenes oder manipuliertes Konto zurücksetzen: privater Uploadschlüssel.

Im nächsten Abschnitt werden einige wichtige Begriffe und Konzepte im Zusammenhang mit Apps beschrieben. Signatur und Sicherheit. Falls Sie lieber fortfahren möchten, App für den Upload in den Google Play Store finden Sie unter App signieren für veröffentlichen.

Schlüsselspeicher, Schlüssel und Zertifikate

Java-Schlüsselspeicher (.jks oder .keystore) sind Binärdateien, die als Repositories dienen. von Zertifikaten und privaten Schlüsseln.

Ein Public-Key-Zertifikat (.der- oder .pem-Dateien), auch als digitales oder ein Identitätszertifikat, enthält den öffentlichen Schlüssel eines Paar aus öffentlichem/privatem Schlüssel sowie weitere Metadaten zur Identifizierung des Inhabers (z. B. Name und Standort), der den entsprechenden privaten Schlüssel enthält.

Sie sollten die folgenden Arten von Schlüsseln kennen:

  • App-Signaturschlüssel:Der Schlüssel, mit dem APKs signiert werden, die auf einem das Gerät der Nutzenden. Im Rahmen des sicheren Updatemodells von Android wird der Signaturschlüssel sich während der Lebensdauer Ihrer App verändern. Der App-Signaturschlüssel ist privat und muss geheim gehalten werden. Sie können jedoch das generierte Zertifikat mit deinem App-Signaturschlüssel.
  • Uploadschlüssel:Der Schlüssel, mit dem Sie das App Bundle oder APK vor dem Signieren signieren laden Sie sie für die App-Signatur mit Google Play hoch. Du musst den Uploadschlüssel geheim halten. Sie können jedoch das Zertifikat freigeben, mit dem Uploadschlüssel generiert wird. Du kannst einen Uploadschlüssel in einer der auf folgende Arten:

    • Wenn Sie festlegen, dass Google den App-Signaturschlüssel beim Erstellen aktivieren können, lautet der Schlüssel, mit dem Sie Ihre App für die Veröffentlichung signieren, die als Uploadschlüssel festgelegt sind.
    • Wenn Sie Google den App-Signaturschlüssel bei der Aktivierung Ihres neuen oder bestehenden App gibt, haben Sie die Möglichkeit, während oder nachdem Sie die Option für erhöhte Sicherheit aktiviert haben.
    • Wenn du keinen neuen Uploadschlüssel generierst, kannst du deine App weiter verwenden. Signaturschlüssel als Uploadschlüssel verwenden, um jeden Release zu signieren.

    Tipp:Zum Schutz Ihrer Schlüssel sollten Sie darauf achten, dass Ihre App und der Uploadschlüssel unterscheiden sich.

Mit API-Anbietern zusammenarbeiten

Sie können das Zertifikat für den App-Signaturschlüssel und Ihren Upload herunterladen Release > Einrichtung > App-Signaturseite in der Play Console. Wird verwendet, um öffentliche Schlüssel mit API-Anbieter ist für die gemeinsame Nutzung vorgesehen, da sie keine privaten .

Ein Zertifikat-Fingerabdruck ist eine kurze und eindeutige Darstellung eines Zertifikat, das von API-Anbietern häufig neben dem Paketnamen angefordert wird eine App für die Nutzung des Dienstes zu registrieren. MD5-, SHA-1- und SHA-256-Fingerabdrücke der Upload- und App-Signaturzertifikate findest du auf der App-Signaturseite der Play Console. Andere Fingerabdrücke können auch berechnet werden, indem Sie die Originalzertifikat (.der) von derselben Seite

Debug-Build signieren

Beim Ausführen oder Debuggen Ihres Projekts über die IDE, Android Studio signiert Ihre App automatisch mit einem Debug-Zertifikat, das vom Android- SDK-Tools. Wenn Sie Ihr Projekt zum ersten Mal in Android Studio ausführen oder Fehler beheben, IDE erstellt automatisch den Schlüsselspeicher und das Zertifikat für die Fehlerbehebung in $HOME/.android/debug.keystore und legt den Schlüsselspeicher und die Schlüsselpasswörter fest.

Da das Debug-Zertifikat von den Build-Tools erstellt wird und durch akzeptieren die meisten App-Shops (einschließlich des Google Play Store) keine Apps. mit einem Debug-Zertifikat zur Veröffentlichung signiert.

Android Studio speichert Ihre Informationen zur Fehlerbehebungssignatur automatisch in einer Signatur, damit Sie diese nicht bei jeder Fehlerbehebung eingeben müssen. A-Signatur Konfiguration ist ein Objekt, das alle erforderlichen Informationen enthält, signieren Sie Ihre App, einschließlich des Schlüsselspeicher-Speicherorts, des Schlüsselspeicher-Passworts, des Schlüsselnamens und des Schlüsselpassworts.

Weitere Informationen zum Erstellen und Ausführen von Anwendungen für die Fehlerbehebung finden Sie unter Erstellen von und führt Ihre App aus.

Ablauf des Debug-Zertifikats

Das selbst signierte Zertifikat, mit dem Ihre App zur Fehlerbehebung signiert wird, hat ein ein Ablaufdatum von 30 Jahren ab dem Erstellungsdatum. Wenn das Zertifikat erhalten Sie einen Build-Fehler.

Um dieses Problem zu beheben, löschen Sie einfach die Datei debug.keystore, die in einem der folgenden Speicherorten:

  • ~/.android/ unter OS X und Linux
  • C:\Documents and Settings\user\.android\ an Windows XP
  • C:\Users\user\.android\ unter Windows Vista und Windows 7, 8 und 10

Wenn Sie das nächste Mal eine Debug-Version Ihrer App erstellen und ausführen, wird Android Studio generiert einen neuen Schlüsselspeicher und Schlüssel zur Fehlerbehebung.

App für die Veröffentlichung bei Google Play signieren

Wenn Sie bereit sind, Ihre App zu veröffentlichen, müssen Sie sie signieren und hochladen. mit einem App-Shop wie Google Play. Wenn du deine App bei Google Play veröffentlichst müssen Sie auch die Play App-Signatur konfigurieren. Play App-Signatur ist für Apps, die vor August 2021 erstellt wurden, optional. In diesem Abschnitt erfahren Sie, wie Sie deine App für die Veröffentlichung ordnungsgemäß signieren und die Play App-Signatur konfigurieren.

Uploadschlüssel und Schlüsselspeicher generieren

Wenn Sie noch keinen Uploadschlüssel haben, was bei der Konfiguration von Play hilfreich ist So erstellen Sie eine App-Signatur mit Android Studio:

  1. Klicken Sie in der Menüleiste auf Build > Signiertes Bundle/APK generieren.
  2. Wählen Sie im Dialogfeld Signiertes Bundle oder APK generieren Android App Bundle oder APK und klicken Sie auf Weiter.
  3. Klicken Sie unter dem Feld für Schlüsselspeicherpfad auf Neu erstellen.
  4. Geben Sie im Fenster Neuer Schlüsselspeicher die folgenden Informationen für Ihren Schlüsselspeicher und Schlüssel ein, wie in Abbildung 2 dargestellt.

    Abbildung 2: Erstelle einen neuen Uploadschlüssel und einen neuen Schlüsselspeicher in Android Studio.

  5. Schlüsselspeicher

    • Schlüsselspeicherpfad: Wählen Sie den Speicherort aus, an dem Ihr Schlüsselspeicher erstellt werden soll. Außerdem sollte am Ende des Pfadpfads ein Dateiname mit die Erweiterung .jks.
    • Passwort: Erstellen und bestätigen Sie ein sicheres Passwort für Ihren Schlüsselspeicher.
  6. Key

    • Alias:Geben Sie einen eindeutigen Namen für den Schlüssel ein.
    • Passwort:Erstellen und bestätigen Sie ein sicheres Passwort für Ihren Schlüssel. Dieses sollte mit Ihrem Schlüsselspeicher-Passwort übereinstimmen. Weitere Informationen finden Sie im bekannten Problem )
    • Gültigkeit (Jahre): Legen Sie den Zeitraum in Jahren fest, für den Ihr Schlüssel gültig ist. gültig sein. Der Schlüssel muss mindestens 25 Jahre lang gültig sein, damit Sie ihn signieren können. App-Updates mit demselben Schlüssel für die gesamte Lebensdauer deiner App aktualisieren.
    • Certificate (Zertifikat): Geben Sie Informationen über sich für Ihr Zertifikat. Diese Informationen werden nicht in Ihrer App angezeigt, sind aber enthalten als Teil des APK in Ihrem Zertifikat.
  7. Wenn Sie das Formular ausgefüllt haben, klicken Sie auf OK.

  8. Wenn Sie Ihre App erstellen und mit Ihrem Uploadschlüssel signieren möchten, fahren Sie fort zum Abschnitt über die Signieren Sie Ihre App mit Ihrem Uploadschlüssel. Wenn Sie nur Generieren des Schlüssels und des Schlüsselspeichers klicken Sie auf Abbrechen.

App mit dem Schlüssel signieren

Wenn Sie bereits einen Uploadschlüssel haben, verwenden Sie ihn zum Signieren Ihrer App. Wenn stattdessen Ihre App Es wurde bereits signiert und im Google Play Store mit einer vorhandenen App veröffentlicht. Signaturschlüssel verwenden, um deine App zu signieren. Sie können später ein separater Uploadschlüssel bei Google Play zum Signieren und Hochladen für nachfolgende Updates Ihrer App.

So signieren Sie Ihre App mit Android Studio:

  1. Wenn das Dialogfeld Signiertes Bundle oder APK generieren derzeit nicht angezeigt wird auf Build > Signiertes Bundle/APK generieren.
  2. Wähle im Dialogfeld Signiertes Bundle oder APK generieren entweder Android-App Bundle oder APK und klicken Sie auf Weiter.
  3. Wählen Sie im Drop-down-Menü ein Modul aus.
  4. Geben Sie den Pfad zu Ihrem Schlüsselspeicher sowie den Alias für Ihren Schlüssel an und geben Sie den Parameter Passwörter für beide. Wenn du deinen Uploadschlüsselspeicher noch nicht vorbereitet hast Generieren Sie zuerst einen Uploadschlüssel und einen Schlüsselspeicher und um diesen Schritt abzuschließen.

    Abbildung 3. Signieren Sie Ihre App mit Ihrem Uploadschlüssel.

  5. Klicken Sie auf Weiter.

  6. Wählen Sie im nächsten Fenster (siehe Abbildung 4) einen Zielordner für die Datei aus. den Build-Typ und ggf. die Produkt-Geschmacksrichtungen aus.

  7. Wenn Sie ein APK erstellen und signieren, müssen Sie auswählen, welche Signatur Versionen, die Ihre App unterstützen soll. Weitere Informationen finden Sie im App-Signaturschemas

  8. Klicken Sie auf Erstellen.

Abbildung 5: Klicke auf den Link im Pop-up, um deine App zu analysieren oder zu finden Set.

Nachdem Android Studio Ihre signierte App erstellt hat, haben Sie folgende Möglichkeiten: finden oder analysieren, indem Sie auf die entsprechende Option in der Pop-up-Benachrichtigung erhalten, wie in Abbildung 5 dargestellt.

Jetzt kannst du Play App Signing aktivieren und deine App hochladen für die Veröffentlichung deiner App. Wenn Sie mit der Veröffentlichung von Apps noch nicht vertraut sind, , um die Übersicht zu lesen. Andernfalls Weiter zur Seite zum Hochladen Ihrer App bei Google Play Console

Play App-Signatur verwenden

Wie weiter oben auf dieser Seite beschrieben, Die Play App-Signatur ist erforderlich, um Ihre App für den Vertrieb über Google Play signieren (außer Apps) die vor August 2021 erstellt wurden, wodurch möglicherweise weiterhin selbstsignierte APKs bereitgestellt werden. Die erforderlichen Schritte hängen davon ab, ob Ihre App noch nicht bei Google Play veröffentlicht wurde oder deine App bereits signiert ist und vor diesem Datum veröffentlicht wurde August 2021 mit einem vorhandenen App-Signaturschlüssel.

Neue App konfigurieren

So konfigurieren Sie die Signatur für eine App, die noch nicht bei Google Play veröffentlicht wurde: gehen Sie wie folgt vor:

  1. Falls noch nicht geschehen, generieren Sie einen Uploadschlüssel und Signieren Sie Ihre App mit diesem Uploadschlüssel.
  2. Melden Sie sich in der Play Console an.
  3. Folgen Sie der Anleitung zur Vorbereitung und Release einführen um einen neuen Release zu erstellen.
  4. Nachdem Sie einen Release-Track ausgewählt haben, konfigurieren Sie die App-Signatur im Bereich App- Signieren so: <ph type="x-smartling-placeholder">
      </ph>
    • Wenn Google Play einen App-Signaturschlüssel generieren und damit signieren soll müssen Sie nichts unternehmen. Der Schlüssel, mit dem Sie Ihr erstes Release wird zu deinem Uploadschlüssel und du solltest ihn zum Signieren künftiger Dateien verwenden. Veröffentlichungen.
    • Wenn du denselben Schlüssel wie für eine andere App in deinem Entwicklerkonto verwenden möchtest, wähle App-Signaturschlüssel ändern > Denselben Schlüssel wie für eine andere App in dieser App verwenden Konto, wählen Sie eine App aus und klicken Sie auf Weiter.
    • So geben Sie Ihren eigenen Signaturschlüssel an, den Google beim Signieren Ihrer App verwenden kann: wählen Sie App-Signaturschlüssel ändern und dann eine der Optionen Export und Upload-Optionen, mit denen Sie einen privaten Schlüssel und dessen öffentliche Schlüssel sicher hochladen können Zertifikat.

Klicken Sie im Bereich App Bundles auf Durchsuchen. , um die App zu finden, die Sie mit dem Uploadschlüssel signiert haben, und hochzuladen. Weitere Informationen Informationen zur Veröffentlichung deiner App findest du unter zubereiten und Einführung des Release. Wenn du deine App nach der Konfiguration der Play App-Signatur veröffentlichst, Google Play generiert (sofern Sie keinen vorhandenen Schlüssel hochladen) und verwaltet Signaturschlüssel für Sie. Signieren Sie dazu einfach spätere Updates Ihrer App mit dem bevor Sie sie bei Google Play hochladen.

Wenn Sie einen neuen Uploadschlüssel für Ihre App erstellen müssen, lesen Sie den Abschnitt Verlorenen oder manipulierten privaten Uploadschlüssel zurücksetzen

Vorhandene App anmelden

Wenn Sie eine App aktualisieren, die bereits bei Google Play mithilfe eines vorhandenen App-Signaturschlüssel haben, kannst du Play App Signing aktivieren als folgt:

  1. Melden Sie sich in der Play Console an und navigieren Sie zu Ihrer App.
  2. Klicken Sie im Menü auf der linken Seite auf Release > Einrichtung > App-Signatur.
  3. Lesen Sie sich ggf. die Nutzungsbedingungen durch und wählen Sie Akzeptieren aus.
  4. Wählen Sie die Option aus, die den gewünschten Signaturschlüssel am besten beschreibt. bei Google Play hochladen und der angezeigten Anleitung folgen. Für Wenn Sie beispielsweise einen Java-Schlüsselspeicher für Ihren Signierschlüssel verwenden, wählen Sie Laden Sie einen neuen App-Signaturschlüssel aus dem Java Keystore hoch und folgen Sie der Anleitung zum Herunterladen und Ausführen des PEPK-Tools und zum Hochladen der generierten Datei mit Ihrem verschlüsselten Schlüssel.
  5. Klicke auf Anmelden.

Sie sollten jetzt eine Seite mit Details zum Signieren und Hochladen Ihrer App sehen Zertifikate. Google Play signiert Ihre App jetzt mit Ihrem vorhandenen Schlüssel, wenn die Bereitstellung für Nutzer. Einer der wichtigsten Vorteile von Google Play Beim Signieren kann der Schlüssel, mit dem Sie den Schlüssel signieren, getrennt werden. Artefakt, das du über den Schlüssel, den Google Play zum Signieren verwendet, in Google Play hochlädst für den Vertrieb Ihrer App an Nutzer. Erwägen Sie daher, die Schritte in den , um einen separaten Uploadschlüssel zu generieren und zu registrieren.

Uploadzertifikat generieren und registrieren

Wenn Sie eine App veröffentlichen, die nicht mit einem Uploadschlüssel signiert ist, In der Play Console können Sie sich für zukünftige App-Updates registrieren. Obwohl dies ein optionaler Schritt ist, empfehlen wir, deine App zu veröffentlichen. mit einem Schlüssel, der sich von dem unterscheidet, den Google Play für den Vertrieb Ihrer App verwendet für Nutzende zu machen. So schützt Google Ihren Signaturschlüssel die Option zum Zurücksetzen eines verlorenen oder manipulierten privaten Uploadschlüssels. In diesem Abschnitt wird beschrieben, wie Sie einen Uploadschlüssel erstellen, einen Upload generieren Ihr Zertifikat und registrieren Sie es für die Zukunft bei Google Play. Ihrer App aktualisieren.

Im Folgenden werden die Situationen beschrieben, in denen die Option zur Registrierung angezeigt wird. ein Uploadzertifikat in der Play Console:

  • Wenn Sie eine neue App veröffentlichen, die mit einem Signaturschlüssel signiert ist, und der App Play App-Signatur.
  • Wenn Sie im Begriff sind, eine vorhandene App zu veröffentlichen, die bereits bei Google Play aktiviert ist App Signing, wird aber mit seinem Signaturschlüssel signiert.

Wenn Sie kein Update für eine vorhandene App veröffentlichen, die bereits aktiviert ist und ein Uploadzertifikat registrieren möchten, führen Sie die folgenden Schritte aus und fahren Sie dann mit dem Abschnitt fort, Verlorenen oder manipulierten privaten Uploadschlüssel zurücksetzen

Falls noch nicht geschehen, einen Uploadschlüssel und einen Schlüsselspeicher generieren.

Nachdem Sie den Uploadschlüssel und den Schlüsselspeicher erstellt haben, müssen Sie eine öffentliche Zertifikat aus Ihrem Uploadschlüssel unter keytool, mit dem folgenden Befehl:

$ keytool -export -rfc
  -keystore your-upload-keystore.jks
  -alias upload-alias
  -file output_upload_certificate.pem

Registrieren Sie das Uploadzertifikat jetzt bei Google, wenn Sie dazu aufgefordert werden. in der Play Console oder beim Zurücksetzen des Uploadschlüssels.

App-Signaturschlüssel aktualisieren

Unter bestimmten Umständen möchten Sie den Signaturschlüssel Ihrer App möglicherweise ändern. Für Beispiel: Sie möchten einen kryptografisch stärkeren Schlüssel oder Ihren Signaturschlüssel wurde manipuliert. Da Nutzer Ihre App jedoch nur aktualisieren können, mit demselben Signaturschlüssel signiert ist, ist es schwierig, für eine bereits veröffentlichte App.

Wenn du deine App bei Google Play veröffentlichst, kannst du den Signaturschlüssel für deine veröffentlichte App über die Play Console veröffentlicht – dein neuer Schlüssel wird zum Signieren von Installationen verwendet und App-Updates unter Android 13 und höher. Dein älterer App-Signaturschlüssel ist zum Signieren von Updates für Nutzer älterer Android-Versionen.

Weitere Informationen finden Sie unter Aktualisiere deinen App-Signaturschlüssel.

Verlorenen oder manipulierten privaten Uploadschlüssel zurücksetzen

Wenn Sie Ihren privaten Uploadschlüssel verloren haben oder er manipuliert wurde, können Sie ein neues erstellen Zurücksetzen des Uploadschlüssels anfordern in der Play Console.

Build-Prozess so konfigurieren, dass Ihre App automatisch signiert wird

In Android Studio können Sie Ihr Projekt so konfigurieren, dass die Release-Version signiert wird Ihrer App automatisch während des Build-Prozesses generieren. Dazu erstellen Sie eine Signatur, Konfiguration und weisen sie Ihrem Release-Build-Typ zu. A-Signatur -Konfiguration besteht aus einem Schlüsselspeicher-Speicherort, einem Schlüsselspeicher-Passwort, einem Schlüssel-Alias und des Schlüsselpassworts. Signaturkonfiguration erstellen und Ihrem Release zuweisen mit Android Studio zu erstellen, führen Sie die folgenden Schritte aus:

  1. Klicken Sie im Fenster Projekt mit der rechten Maustaste auf Ihre App und dann auf Öffnen Sie die Moduleinstellungen.
  2. Gehen Sie im Fenster Project Structure (Projektstruktur) unter Modules (Module) klicken Sie im linken Bereich auf das gewünschte Modul. zu unterzeichnen.
  3. Klicken Sie auf den Tab Signing (Signatur) und dann auf Add (Hinzufügen).
  4. Wählen Sie Ihre Schlüsselspeicherdatei aus und geben Sie einen Namen für diese Signaturkonfiguration ein (da Sie mehr als ein Konto erstellen können) und geben Sie die erforderlichen Informationen ein.

    Abbildung 7. Das Fenster zum Erstellen einer neuen Signatur Konfiguration.

  5. Klicken Sie auf den Tab Build-Typen.
  6. Klicken Sie auf den Build Release.
  7. Wählen Sie unter Signing Config (Signierkonfiguration) die Signaturkonfiguration aus. die Sie gerade erstellt haben.

    Abbildung 8. Signaturkonfiguration in Android auswählen Studio

  8. Klicken Sie auf OK.

Jedes Mal, wenn Sie Ihren Release-Build-Typ erstellen, wählen Sie eine Option Erstellen > Build-Bundles/APKs in Android Studio erstellen, das IDE signiert Ihre App automatisch mit der Signaturkonfiguration, die Sie angegeben ist. Du findest dein signiertes APK oder App Bundle in der Verzeichnis build/outputs/ im Projektverzeichnis für die des gerade erstellten Moduls.

Wenn Sie eine Signaturkonfiguration erstellen, sind Ihre Signaturinformationen enthalten als Klartext in Ihren Gradle-Build-Dateien. Wenn Sie in einem Team oder Wenn Sie Ihren Code öffentlich teilen, sollten Sie Ihre Signaturinformationen geheim halten. indem Sie es aus den Build-Dateien entfernen und separat speichern. Sie können Folgendes lesen: Informationen zum Entfernen der Signaturinformationen aus Ihren Build-Dateien finden Sie in Signierungsinformationen aus Ihrem Build entfernen Files (Dateien). Weitere Informationen zum Schutz Ihrer Signaturinformationen finden Sie unter Halten Sie Ihren Schlüssel sicher (siehe unten).

Unterschiedliche Produktgeschmacksrichtungen angeben

Wenn in Ihrer App Produktsorten verwendet werden und Sie die einzelnen Geschmacksrichtungen unterschreiben möchten unterschiedlich ist, können Sie zusätzliche Signaturkonfigurationen erstellen und nach Geschmack:

  1. Klicken Sie im Fenster Projekt mit der rechten Maustaste auf Ihre App und dann auf Öffnen Sie die Moduleinstellungen.
  2. Gehen Sie im Fenster Project Structure (Projektstruktur) unter Modules (Module) klicken Sie im linken Bereich auf das gewünschte Modul. zu unterzeichnen.
  3. Klicken Sie auf den Tab Signing (Signatur) und dann auf Add (Hinzufügen).
  4. Wählen Sie Ihre Schlüsselspeicherdatei aus und geben Sie einen Namen für diese Signaturkonfiguration ein (da Sie mehr als ein Konto erstellen können) und geben Sie die erforderlichen Informationen ein.

    Abbildung 10: Das Fenster zum Erstellen einer neuen Signatur Konfiguration.

  5. Wiederholen Sie die Schritte 3 und 4 nach Bedarf, bis Sie alle Signaturen erstellt haben. Konfigurationen.
  6. Klicken Sie auf den Tab Flavors.
  7. Klicken Sie auf den Geschmack, den Sie konfigurieren möchten, und wählen Sie den entsprechenden Signaturkonfiguration aus dem Drop-down-Menü Signing Config (Signierkonfiguration) aus.

    Abbildung 11: Konfigurieren Sie Signatureinstellungen nach Produktvariante.

    Wiederholen Sie diese Schritte, um weitere Produktsorten zu konfigurieren.

  8. Klicken Sie auf OK.

Sie können Ihre Signatureinstellungen auch in den Gradle-Konfigurationsdateien festlegen. Für Weitere Informationen finden Sie unter Signatureinstellungen konfigurieren.

Signaturbericht erstellen

Führen Sie den Gradle-Code aus, um Signaturinformationen für jede Variante Ihrer App abzurufen. Aufgabe signingReport in Android Studio:

  1. Wählen Sie Ansicht > Tool-Fenster > Gradle, um das Fenster des Gradle-Tools zu öffnen.
  2. Wählen Sie IhreApp > Tasks > Android > SigningReport, um den Bericht zu generieren

Signaturschlüssel selbst verwalten

Wenn Sie die Play App-Signatur nicht aktivieren (nur für Apps, die erstellt wurden) vor August 2021), können Sie Ihren eigenen App-Signaturschlüssel und -Schlüsselspeicher verwalten. Denken Sie daran: Sie sind für die Sicherung des Schlüssels und des Schlüsselspeichers selbst verantwortlich. Außerdem unterstützt deine App dann keine Android App Bundles, Play Feature Delivery und Play Asset Delivery.

Wenn Sie bereit sind, Ihren eigenen Schlüssel und Schlüsselspeicher zu erstellen, wählen Sie ein starkes Passwort für Ihren Schlüsselspeicher und ein separates, starkes Passwort für für jeden im Schlüsselspeicher gespeicherten privaten Schlüssel. Bewahren Sie Ihren Schlüsselspeicher an einem sicheren Ort auf. an einem sicheren Ort auf. Wenn Sie keinen Zugriff mehr auf Ihren App-Signaturschlüssel haben oder Ihr Schlüssel kann Google den App-Signaturschlüssel nicht für dich abrufen. können keine neuen Versionen deiner App als Updates für die Original-App. Weitere Informationen finden Sie unter Halten Sie Ihren Schlüssel sicher (siehe unten).

Falls Sie Ihren eigenen App-Signaturschlüssel und -Schlüsselspeicher verwalten, müssen Sie beim Signieren Ihres APK signiert es lokal mit deinem App-Signaturschlüssel und lädt das signierte APK hoch den Vertrieb direkt an den Google Play Store, wie in Abbildung 12 gezeigt.

Abbildung 12. App signieren, wenn Sie Ihren eigenen App-Signaturschlüssel verwalten

Wenn Sie Play App-Signatur, Google bewahrt deinen Signaturschlüssel sicher auf und sorgt dafür, dass deine Apps und können während ihrer gesamten Lebensdauer Updates erhalten. Falls Sie Ihren App-Signaturschlüssel selbst verwalten möchten, die Sie berücksichtigen sollten.

Hinweise zur Signatur

Sie sollten Ihre App während der gesamten Lebenserwartung. Dafür kann es mehrere Gründe geben:

  • App-Upgrade:Wenn das System ein App-Update installiert, vergleicht die Zertifikate der neuen Version mit denen in der vorhandenen Version. Das System lässt das Update zu, wenn die Zertifikate übereinstimmen. Wenn Sie die mit einem anderen Zertifikat erstellen, müssen Sie ein anderes Paket der App hinzugefügt. In diesem Fall installiert der Nutzer die neue Version neuen App.
  • App-Modularität:Unter Android können APKs, die mit demselben Zertifikat signiert wurden, ausgeführt werden. wenn die Apps dies anfordern, sodass das System sie als in einer App. Auf diese Weise können Sie Ihre Anwendung in Modulen bereitstellen und Nutzer können Moduls unabhängig voneinander ausgeführt werden.
  • Code-/Datenfreigabe durch Berechtigungen:Android bietet signaturbasierte Erzwingen von Berechtigungen, damit eine App einer anderen App bestimmte Funktionen zur Verfügung stellen kann das mit einem bestimmten Zertifikat signiert ist. Indem Sie mehrere APKs mit der Zertifikat und mit signaturbasierten Berechtigungsprüfungen, können Ihre Apps Code und Daten sicher weiterzugeben.

Wenn du Upgrades für eine App unterstützen möchtest, achte darauf, dass dein App-Signaturschlüssel eine Gültigkeitsdauer, die die erwartete Lebensdauer der App überschreitet. Eine Gültigkeit Wir empfehlen einen Zeitraum von 25 Jahren oder mehr. Wenn der Gültigkeitszeitraum Ihres Schlüssels abgelaufen ist, können Nutzer nicht mehr nahtlos auf die neuen Versionen der für Ihre App.

Wenn Sie Ihre Apps bei Google Play veröffentlichen möchten, ist der Schlüssel, mit dem Sie Ihre App muss einen Gültigkeitszeitraum haben, der nach dem 22. Oktober 2033 endet. Google Play erzwingt diese Anforderung, um sicherzustellen, dass Nutzer bei Bedarf ein nahtloses Upgrade von Apps durchführen können. neue Versionen verfügbar sind.

Schlüssel sicher aufbewahren

Wenn du deinen App-Signaturschlüssel und deinen Schlüsselspeicher selbst verwalten und sichern möchtest (anstatt die Optionen Play App-Signatur), um Ihre App zu schützen Signierschlüssel ist wichtig sowohl für Sie als auch für die Nutzenden. Wenn Sie jemandem erlauben, Ihren Schlüssel zu verwenden, oder wenn Sie Ihren Schlüsselspeicher und Ihre Passwörter an einem ungesicherten Ort aufbewahren, sodass ein die Sie finden und verwenden können, sowie Ihre Autorenidentität und das Vertrauen Ihrer dass der Nutzer kompromittiert wird.

Wenn ein Drittanbieter Ihren App-Signaturschlüssel ohne Ihr Wissen mitnehmen sollte oder könnte diese Person Apps signieren und verteilen, die in böswilliger Absicht oder sie beschädigen. Eine solche Person könnte auch Apps unter deiner Identität zu vertreiben, die andere Apps oder das System selbst angreifen, Nutzerdaten zu schädigen oder zu stehlen.

Der private Schlüssel wird benötigt, um alle zukünftigen Versionen deiner App zu signieren. Wenn Sie verlieren oder verlegen, kannst du keine Updates mehr in deinem bestehenden App hinzu. Sie können einen zuvor generierten Schlüssel nicht neu generieren.

Dein Ruf als Entwicklerentität hängt davon ab, ob du deine App-Signatur absichern musst solange der Schlüssel nicht korrekt ist, bis er abgelaufen ist. Hier sind einige Tipps für So schützen Sie Ihren Schlüssel:

  • Wähle starke Passwörter für den Schlüsselspeicher und Schlüssel aus.
  • Geben Sie Ihren privaten Schlüssel nicht weiter und achten Sie darauf, dass er nicht von Unbefugten andere Ihren Schlüsselspeicher und Ihre Schlüsselpasswörter kennen.
  • Bewahren Sie die Schlüsselspeicherdatei mit Ihrem privaten Schlüssel an einem sicheren Ort auf.

Wenn Sie bei der Erstellung, Verwendung und wenn Sie Ihren Schlüssel speichern, bleiben Ihre Daten sicher.

Signaturinformationen aus Build-Dateien entfernen

Wenn Sie eine Signaturkonfiguration erstellen, fügt Android Studio Ihre Signatur Informationen als Nur-Text in die build.gradle-Dateien des Moduls ein. Wenn wenn Sie mit einem Team zusammenarbeiten oder Ihren Code als Open-Source-Software bereitstellen, sollten Sie vertrauliche Informationen aus den Build-Dateien entfernen, damit diese nicht leicht zugänglich sind. für andere. Erstellen Sie dazu eine separate Property-Datei zum Speichern sichere Informationen und verweisen Sie in Ihren Build-Dateien wie folgt auf diese Datei:

  1. Erstellen Sie eine Signaturkonfiguration und weisen Sie sie einem oder mehreren Build-Typen zu. In dieser Anleitung wird davon ausgegangen, dass Sie eine einzelne Signaturkonfiguration konfiguriert haben. für Ihren Release-Build-Typ, wie unter Konfigurieren um Ihre App automatisch zu signieren.
  2. Erstellen Sie im Stammverzeichnis eine Datei mit dem Namen keystore.properties. Verzeichnis Ihres Projekts. Diese Datei sollte Ihre Signaturinformationen enthalten, wie folgt:
    storePassword=myStorePassword
    keyPassword=mykeyPassword
    keyAlias=myKeyAlias
    storeFile=myStoreFileLocation
    
  3. Fügen Sie in der Datei build.gradle Ihres Moduls Code zum Laden des keystore.properties-Datei vor android {} blockieren.

    Cool

    ...
    
    // Create a variable called keystorePropertiesFile, and initialize it to your
    // keystore.properties file, in the rootProject folder.
    def keystorePropertiesFile = rootProject.file("keystore.properties")
    
    // Initialize a new Properties() object called keystoreProperties.
    def keystoreProperties = new Properties()
    
    // Load your keystore.properties file into the keystoreProperties object.
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
    
    android {
        ...
    }
    

    Kotlin

    ...
    import java.util.Properties
    import java.io.FileInputStream
    
    // Create a variable called keystorePropertiesFile, and initialize it to your
    // keystore.properties file, in the rootProject folder.
    val keystorePropertiesFile = rootProject.file("keystore.properties")
    
    // Initialize a new Properties() object called keystoreProperties.
    val keystoreProperties = Properties()
    
    // Load your keystore.properties file into the keystoreProperties object.
    keystoreProperties.load(FileInputStream(keystorePropertiesFile))
    
    android {
        ...
    }
    

    Hinweis:Sie können Ihre keystore.properties an einem anderen Speicherort, z. B. im Modulordner statt im Stammordner des Projekts, oder auf Ihren Build-Server verwenden, wenn Sie ein Continuous-Integration-Tool verwenden. In sollten Sie den obigen Code ändern, damit die keystorePropertiesFile mit dem tatsächlichen Speicherort der keystore.properties-Datei.

  4. Sie können auf Attribute verweisen, die in keystoreProperties gespeichert sind mit der Syntax keystoreProperties['propertyName']. Ändere den signingConfigs-Block des Moduls build.gradle-Datei als Verweis auf die Signaturinformationen, die in keystoreProperties mit dieser Syntax.

    Cool

    android {
        signingConfigs {
            config {
                keyAlias keystoreProperties['keyAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile file(keystoreProperties['storeFile'])
                storePassword keystoreProperties['storePassword']
            }
        }
        ...
      }

    Kotlin

    android {
        signingConfigs {
            create("config") {
                keyAlias = keystoreProperties["keyAlias"] as String
                keyPassword = keystoreProperties["keyPassword"] as String
                storeFile = file(keystoreProperties["storeFile"] as String)
                storePassword = keystoreProperties["storePassword"] as String
            }
        }
        ...
      }
  5. Öffnen Sie das Fenster Build Variants (Varianten erstellen) und prüfen Sie, ob die Release-Build-Typ ausgewählt.
  6. Wählen Sie eine Option unter Erstellen > Bundle(s) / APK(s) für den Build erstellen entweder ein APK oder App Bundle Ihres Release-Builds. Die Build-Ausgabe sollte nun in der build/outputs/-Verzeichnis für Ihr Modul.

Da Ihre Build-Dateien keine vertraulichen Informationen mehr enthalten, können Sie in die Versionsverwaltung aufnehmen oder sie in eine gemeinsame Codebasis hochladen. Achten Sie darauf, um die Datei keystore.properties zu schützen. Dazu gehören u. a. aus Ihrem Versionsverwaltungssystem.