Android Studio: hoe gesigneerde APK genereren met Gradle?

Ik heb gezocht op Google en SO, maar kan mijn antwoord niet vinden.

Dit is de eerste keer dat ik met het gradle-systeem werk en ik ben nu op het punt een ondertekende APK te genereren om te uploaden naar Google Play (project wordt geïmporteerd vanuit eclipse).

Nu heb ik het gedeelte hier gelezen http ://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Building-and-Tasksdie u moet toevoegen signingConfigsaan uw build.gradle

Ik heb deze regels toegevoegd en nu zag ik dat je ./gradlew assembleReleasemoet uitvoeren, maar als je dit in mijn cmd uitvoert, wordt ‘gradle’ niet herkend als een interne of externe opdracht,
bedienbaar programma of batchbestand. Ik heb ook geprobeerd om met de rechtermuisknop op de build.gradle te klikken en het uit te voeren, waarbij ik zei dat het gelukt was, maar toen ik eenmaal in de build/apk-map keek, alleen een bestand met de naam app-debug-unaligned.apk

Dus hoe genereer ik de ondertekende APK met behulp van het Gradle-systeem?


Antwoord 1, autoriteit 100%

Er zijn drie manieren om uw build te genereren volgens het buildType. (In jouw geval is het release, maar het kan elke naam krijgen die je wilt.)

  1. Ga naar Gradle Task in het rechterdeelvenster van Android Studio en zoek naar assembleReleaseof assemble(#your_defined_buildtype)onder Moduletaken

  2. Ga naar Build-variant in het linkerdeelvenster en selecteer de build in de vervolgkeuzelijst

  3. Ga naar de hoofdmap van het project in Bestandsverkenning en open cmd/terminal en voer het volgende uit:

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

    Windows: gradlew assembleRelease or assemble(#your_defined_buildtype)

Als u (alleen) een release-build wilt doen, kunt u Build> Genereer ondertekende APK. Voor andere buildtypes zijn alleen de bovenstaande drie opties beschikbaar.

Je kunt de gegenereerde APK vinden in je module/build-directory met de naam van het buildtype erin.


Antwoord 2, autoriteit 68%

Het is mogelijk om elk bestaand Android Studio-gradle-project te nemen en het vanaf de opdrachtregel te bouwen/ondertekenen zonder bestanden te bewerken. Dit maakt het erg leuk om je project in versiebeheer op te slaan terwijl je sleutels en wachtwoorden gescheiden blijven:

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

Antwoord 3, autoriteit 46%

U kunt deze code gebruiken

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

vervolg dan vanaf uw terminal

./gradlew assembleRelease

je krijgt de APK op

uw-android-app/build/outputs/apk/uw-android-app-release.apk


Antwoord 4, autoriteit 2%

Ik denk dat dit je kan helpen https:/ /www.timroes.de/2013/09/22/handling-signing-configs-with-gradle/selecteer vervolgens de Releaseuit de Build Variants


Antwoord 5

bouwmenu > genereer ondertekende APK

Other episodes