Android Studio: как сгенерировать подписанный apk с помощью Gradle?

Я искал в Google и SO, но не могу найти ответ.

Это первый раз, когда я работаю с системой gradle, и теперь я собираюсь создать подписанный APK для загрузки в игру Google (проект импортируется из eclipse).

Теперь я прочитал часть здесь http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Building-and-Tasks, которую вы должны добавить signingConfigs в свой build.gradle

Я добавил эти строки, и теперь я увидел, что вам нужно запустить ./gradlew assembleRelease, но выполнение этого в моем возврате cmd "gradle" не распознается как внутренняя или внешняя команда, оперативной программы или командного файла. Я также попытался щелкнуть правой кнопкой мыши по build.gradle и запустить его, заявив, что он был успешным, но как только я смотрю в папке build/apk только файл с именем app-debug-unaligned.apk

Итак, как мне сгенерировать подписанный apk с помощью системы gradle?

Ответ 1

Существует три способа создания вашей сборки в соответствии с buildType. (В вашем случае он отпускается, но его можно назвать чем угодно.)

  • Перейдите в Gradle Задание на правой панели Android Studio и выполните поиск assembleRelease или assemble(#your_defined_buildtype) в разделе "Задачи модуля"

  • Перейдите на вкладку "Сборка вариантов" на левой панели и выберите раскрывающийся список

  • Перейдите в корневой каталог проекта в File Explore и откройте cmd/terminal и запустите:

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

    Windows: gradlew assembleRelease or assemble(#your_defined_buildtype)

Если вы хотите сделать сборку (только) выпуска, вы можете использовать Build > Generate Signed apk. Для других типов сборки доступны только три вышеуказанных параметра.

Вы можете найти сгенерированный APK в каталоге module/build, в котором есть имя типа сборки.

Ответ 2

Можно выполнить любой существующий проект Android Studio gradle и построить/подписать его из командной строки без редактирования каких-либо файлов. Это делает его очень приятным для хранения вашего проекта в управлении версиями, одновременно сохраняя ваши ключи и пароли:

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

Ответ 3

Вы можете использовать этот код

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

    buildTypes {

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

а затем с вашего терминала

gradle assembleRelease

вы получите apk в

ваш-Android-приложение/строить/выходы/APK/ваш-андроид-приложение-release.apk

Ответ 5

построить меню > сгенерировать подписанный apk