Generiere signiertes apk android studio

83

Ich bin neu in der Android-Entwicklung und habe gerade meine erste App fertiggestellt. Ich möchte eine signierte apk in android studio generieren. Ich habe die Entwicklerdokumente gelesen, konnte aber die Schritte nicht verstehen. Wenn ich auf klicke Build>Generate Signed APK..., wird ein Dialogfeld angezeigt, in dem Folgendes gefragt wird:

Keystore path  //with two options create new and choose existing
Keystore password
Key alias
key password

Ich verstehe nicht, was Keystore ist, selbst nachdem ich es gegoogelt habe. Wenn ich create newmich entscheide , werde ich aufgefordert, einen Pfad auszuwählen und eine .jksDatei zu suchen, die ich nicht habe! Kann jemand bitte erklären und die Schritte auflisten, um eine signierte apk zu generieren.

Chinmay Dabke
quelle
2
Diese Antwort ist ziemlich gut: stackoverflow.com/a/6849903/2927883
Pull

Antworten:

44

Verwenden Sie Keytool Binary oder Exe, um einen privaten Keystore zu generieren. Anleitung hier . Sie können Ihre App dann mit diesem Keystore signieren. Keytool wird installiert, wenn Sie Java installieren.

HINWEIS: Speichern / sichern Sie diesen Keystore, da Sie nach dem Veröffentlichen einer App im Spiel durch Signieren mit diesem Keystore denselben Keystore für zukünftige Updates verwenden müssen. Es ist also wichtig, dass Sie es sichern.

HTH.

VJ Vélan Solutions
quelle
Ich denke, die Frage ist hier anders, der Benutzer ist verwirrt, wie er die .jks-Datei auswählt, die nur den Namen angibt. Die richtige Antwort ist von @jackspier unten
Raj
95

Ich glaube nicht, dass jemand die Frage richtig beantwortet hat. Für alle anderen, die dieselbe Frage haben, sollte dies helfen:

Schritt 1 Gehen Sie zu Erstellen> Signierte APK generieren> Weiter (ausgewähltes Modul ist Ihr Modul, das am häufigsten als "App" bezeichnet wird).

Schritt 2 Klicken Sie auf Neu erstellen

Schritt 3 Füllen Sie das Formular grundsätzlich mit den erforderlichen Angaben aus. Das verwirrende Bit ist, wo es nach einem Schlüsselspeicherpfad fragt . Klicken Sie auf das Symbol rechts mit den 3 Punkten ("..."). Daraufhin wird ein Navigatorfenster geöffnet, in dem Sie aufgefordert werden, eine .jks-Datei zu navigieren und auszuwählen. Navigieren Sie zu einem Ordner, in dem Ihre Keystore-Datei gespeichert werden soll, und dann bei der Dateiname Feld am unteren Rand des Fensters, geben Sie einfach einen Namen nach Ihrem Geschmack und die OK - Taste nun klickbar sein. Was passiert ist, dass das Fenster nicht wirklich fragt, ob Sie eine .jks-Datei ausgewählt haben, sondern dass Sie ihr den Speicherort und Namen geben möchten, den Sie haben möchten.

Schritt 4 Klicken Sie auf Weiter und wählen Sie dann Release und Voila! du bist fertig.

Jackspicer
quelle
Wo wird die Datei gespeichert? Danke
Imogen Johnson
Ich habe gerade hier geschrieben, dass es unter "Build" keine "Signate APK generieren" gibt.
Mark Ebden
24

Lesen Sie hier meine Antwort

Wie exportiere ich ein Projekt im Android Studio?

Dies führt Sie Schritt für Schritt zum Generieren signierter APK und zum Erstellen einer Keystore-Datei aus Android Studio.

Über den Link können Sie dies ganz einfach tun, da ich den Screenshot Schritt für Schritt hinzugefügt habe.

Kurze Antwort

Wenn Sie eine Key-Store-Datei haben, können Sie dies einfach tun.

Gehen Sie zu Build und klicken Sie auf Signate APK generieren

Ajay S.
quelle
16

Die "offizielle" Methode zum Konfigurieren der Datei build.gradle, wie von Google empfohlen, wird hier erläutert .

Grundsätzlich fügen Sie eine Signaturkonfiguration hinzu , in der Sie als Speicherort ein Kennwort für den Schlüsselspeicher angeben. Verweisen Sie dann im Release-Build-Typ auf diese Signaturkonfiguration.

...
android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            storeFile file("myreleasekey.keystore")
            storePassword "password"
            keyAlias "MyReleaseKey"
            keyPassword "password"
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }
}
...
GaRRaPeTa
quelle
13
  1. Gehen Sie zu Build -> Signed APK in Android Studio generieren .
  2. Klicken Sie im neuen Fenster auf die Schaltfläche Neu erstellen ...
  3. Geben Sie als Nächstes Details wie unten gezeigt ein und klicken Sie auf OK -> Weiter . Geben Sie hier die Bildbeschreibung ein
  4. Wählen Sie den Build-Typ als Release aus und klicken Sie auf Fertig stellen .
  5. Warten Sie, bis die Meldung APK erfolgreich generiert wie unten gezeigt angezeigt wird.Geben Sie hier die Bildbeschreibung ein
  6. Klicken Sie auf Im Explorer anzeigen , um die signierte APK-Datei anzuzeigen.

Weitere Details finden Sie unter diesem Link.

Tony Baby
quelle
3

Ich hatte das gleiche Problem. Ich habe das Feld mit der Datei /home/tim/android.jks aus dem Tutorial gefüllt und dachte, diese Datei würde erstellt. und wenn ich auf Enter klicken würde, würde es sagen, dass ich die Datei nicht finden kann. aber wenn ich versuchen würde, die Datei zu erstellen, würde es mich nicht zulassen, die jks-Datei zu erstellen. Ich habe das Android Studio geschlossen und es erneut ausgeführt und es hat gut funktioniert. Ich musste auf ... klicken, um meine Datei korrekt hinzuzufügen. generiere einen signierten apk-Assistenten -> neuer Schlüsselspeicher -> drücke ... wähle die Schlüsselspeicherdatei. Dateiname eingeben Ich dachte, ich müsste openjdk verwenden und meine eigene Schlüsseldatei erstellen, aber es ist in Android Studio integriert

Cubeloid
quelle
3

Einfache 5 visuelle Schritte:

Schritt 1: Klicken Sie auf Erstellen -> Signiertes Build / APK generieren

Bauen

Schritt 2: Wählen Sie APK -> Weiter APK

Schritt 3: Klicken Sie aufCreate new ... Erstelle neu ...

Schritt 4: Füllen Sie die erforderlichen Details aus Füllen

Schritt 5: Wählen Sie die Build-Variante debug/releaseund die Signaturversionen (V2). Geben Sie hier die Bildbeschreibung ein

Alles erledigt, jetzt beginnt Ihre signierte APK mit dem Aufbau und sollte in der unteren rechten Ecke erscheinen, sobald sie verfügbar ist. Klicken Sie hier locate, um Ihre signierte APK-Datei zu erhalten.

Einfach?

Mohammad Zaid Pathan
quelle
2

Sie können dies zu Ihrem Build-Gradel hinzufügen

android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            storeFile file("my.keystore")
            storePassword "password"
            keyAlias "MyReleaseKey"
            keyPassword "password"
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }
}

Wenn Sie dann einen KeyHash benötigen, tun Sie dies über das Android STDIO-Terminal im Projektstammordner

keytool -exportcert -alias my.keystore -keystore app/my.keystore.jks | openssl sha1 -binary | openssl base64
Thiago
quelle
0

Offizielle Android-Dokumentation zu diesem Thema mit einer schrittweisen Anleitung zum Generieren signierter APK-Schlüssel in Android Studio und sogar zum Einrichten der automatischen APK-Schlüsselgenerierung in einem Gradle-Build.

https://developer.android.com/studio/publish/app-signing.html

Schauen Sie unter dem Kapitel nach: Signieren Sie Ihren Release-Build

Karl Johan Vallner
quelle