wake-up-neo.com

So signieren Sie ein APK über die Befehlszeile

Seien Sie informiert, dass wir mithilfe von Android SDK über die Befehlszeile eine APK-Datei erstellt haben. Seit dem Hochladen in Google Play Store muss die apk signiert werden. Wie sollen wir das machen?.

4
Ahamed Husain

Schritt 1

Zunächst müssen Sie einen privaten Signaturschlüssel generieren

keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

Dieser Befehl fordert Sie zur Eingabe eines Kennworts für Ihren Schlüsselspeicher und Schlüssel auf (auch für einige zusätzliche Felder). Denken Sie bitte daran, Ihre keystore file private jederzeit aufzubewahren.

Schritt 2

Als nächstes müssen Sie Gradle einrichten 

  1. Platzieren Sie my-release-key.keystore, den Sie in Schritt 1 unter Android/app generiert haben. 
  2. Aktualisieren Sie Ihren ~/.gradle/gradle.properties unter Android/app und fügen Sie Folgendes hinzu

    MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
    MYAPP_RELEASE_KEY_ALIAS=my-key-alias
    MYAPP_RELEASE_STORE_PASSWORD=<The password you choose earlier with the keytool>
    MYAPP_RELEASE_KEY_PASSWORD=<The password you choose earlier with the keytool>
    

Schritt 3

Schließlich müssen Sie Ihren Android/app/build.gradle aktualisieren. 

Android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
            }
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }
}

Jetzt können Sie einfach eine signierte Version über die Befehlszeile erstellen, indem Sie den folgenden Befehl in Ihrem Android-Verzeichnis ausführen

./gradlew assembleRelease

Die generierte apk befindet sich dann in Ihrem build/outputs/apk/release-Verzeichnis. 

8
jomis
  1. Zunächst benötigen Sie einen Keystore, um den Vorgang zu starten. Sie signieren Ihren apk mit diesem Keystore und müssen für zukünftige Updates mit demselben Keystore signieren. Erfahren Sie hier mehr über den Keystore: https://developer.Android.com/studio/publish/app-signing#generate-key

  2. Nachdem Sie den Keystore erstellt haben, sollten Sie das jarsigner-Dienstprogramm verwenden (das im JDK-Ordner verfügbar ist).

    jarsigner -verbose -sigalg SHA1mitRSA -digestalg SHA1 -keystore your-release-key.keystore Android-release-unsigned.apk-Alias ​​-storepass-Kennwort

  3. Der nächste Schritt ist die Verwendung des zipalign-Tools (im Android SDK-Ordner verfügbar), um die apk zu überprüfen.

    pfad-zu-Android-SDK/Build-Tools/Version/zipalign -v 4 Android-Release-unsigned.apk Android-Produkt-veröffentlicht-signiert.apk

  4. Der letzte Schritt ist die Überprüfung mit dem apksigner-Tool (verfügbar im Android SDK-Ordner).

    pfad-zu-Android-SDK/Build-Tools/version/apksigner verifizieren Android-Produkt-veröffentlicht-unterzeichnet.apk

PS: Ersetzen Sie Pfade, Dateien und Kennwörter durch tatsächliche Werte

1

Folgen Sie diesen Befehlen, um den apk Play Store fertig zu machen:

Schritt 1: Erstellen Sie einen vorzeichenlosen Apk:

./gradlew assembleRelease

Schritt 2: Erstellen Sie ein signiertes apk:

jarsigner -keystore YOUR_KEYSTORE_PATH -storepass YOUR_KEYSTORE_PASSWORD app/build/outputs/apk/release/app-release-unsigned.apk YOUR_KEY_ALIAS

Schritt 3: Apipaligning der apk:

your_Android-sdk_path/Android-sdk/build-tools/your_build_tools_version/zipalign -v 4 app/build/outputs/apk/release/app-release-unsigned.apk release.apk
0
borosuman