Frage Android Studio: Wie signierte Apk mit Gradle zu generieren?


Ich habe auf Google und SO gesucht, kann aber meine Antwort nicht finden.

Dies ist das erste Mal, dass ich mit dem Gravel-System arbeite und ich bin jetzt an der Stelle, ein signiertes APK zu generieren, um es auf Google Play hochzuladen (Projekt wird von Eclipse importiert).

Jetzt habe ich den Teil hier gelesen http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Building-and-Tasks das sollten Sie hinzufügen signingConfigs zu deinem build.gradle

Ich habe diese Zeilen hinzugefügt und jetzt habe ich gesehen, dass du rennen musst ./gradlew assembleRelease aber das in meinem Cmd Returns 'Gradle' auszuführen, wird nicht als interner oder externer Befehl erkannt, ausführbares Programm oder Batch-Datei. Ich habe auch versucht, mit der rechten Maustaste auf die Build.gradle und führen Sie es, sagen, es war erfolgreich, aber sobald ich in den Build / apk-Ordner nur eine Datei namens app-debug-unaligned.apk

Wie erzeuge ich die signierte Apk mit dem Gradle-System?


76
2018-01-04 13:13


Ursprung


Antworten:


Es gibt drei Möglichkeiten, wie Sie Ihren Build erstellen können buildType. (In Ihrem Fall ist es Release, aber es kann alles benannt werden, was Sie wollen.)

  1. Gehen Sie auf der rechten Seite von Android Studio zu Google Task und suchen Sie nach assembleRelease oder assemble(#your_defined_buildtype) unter Modul Aufgaben

  2. Gehe zu Build Variant im linken Bereich und wähle den Build von Drop-Down

  3. Gehe zum Projektstammverzeichnis in File Explore und öffne cmd / terminal und starte:

    Linux: ./gradlew assembleRelease or assemble(#your_defined_buildtype)

    Windows: gradlew assembleRelease or assemble(#your_defined_buildtype)

Wenn Sie einen Release-Build erstellen möchten (nur), können Sie verwenden Bauen > Erstelle signierte apk. Für andere Buildtypen sind nur die drei oben genannten Optionen verfügbar.

Sie können das generierte APK in Ihrem finden module/build Verzeichnis mit dem Namen des Build-Typs.


90
2018-01-04 21:43



Es ist möglich, ein vorhandenes Android Studio-Großprojekt zu verwenden und es über die Befehlszeile zu erstellen / signieren, ohne Dateien bearbeiten zu müssen. Dies macht es sehr schön, Ihr Projekt in Versionskontrolle zu speichern, während Sie Ihre Schlüssel und Passwörter getrennt halten:

./gradlew assembleRelease -Pandroid.injected.signing.store.file=$KEYFILE -Pandroid.injected.signing.store.password=$STORE_PASSWORD -Pandroid.injected.signing.key.alias=$KEY_ALIAS -Pandroid.injected.signing.key.password=$KEY_PASSWORD

46
2017-08-11 21:41



Sie können diesen Code verwenden

android {
   ...
    signingConfigs {
        release {
            storeFile file("../your_key_store_file.jks")
            storePassword "some_password"
            keyAlias "alias_name"
            keyPassword "key_password"
        }
    }

    buildTypes {

        release {
            signingConfig signingConfigs.release
        }
    }
   ...
}

dann von deinem Terminallauf

gradle assembleRelease

du wirst die apk bekommen

your-android-app / build / ausgaben / apk / ihre-android-app-release.apk


21
2017-09-05 19:58



Ich denke, das kann dir helfen https://www.timroes.de/2013/09/22/handling-signing-configs-with-gradle/ dann wähle einfach die Release von dem Build Variants


2
2018-03-13 17:22



Menü erstellen> signierte APK generieren


-2
2018-01-04 14:41