Как подписать апк через командную строку - PullRequest
0 голосов
/ 05 июня 2018

Примите к сведению, что мы создали файл apk через командную строку с помощью Android SDK.Теперь, так как загрузка его в Google Play Store требует подписи APK.Как нам это сделать.

Ответы [ 3 ]

0 голосов
/ 05 июня 2018

Выполните следующие команды, чтобы подготовить apk play store:

Шаг 1: Создать неподписанный apk:

./gradlew assembleRelease

Шаг 2: Создатьapk с подписью:

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

Шаг 3: Zipaligning 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 голосов
/ 05 июня 2018
  1. Сначала вам нужно хранилище ключей, чтобы начать процесс.Вы будете подписывать свой apk этим хранилищем ключей, и вам нужно будет подписаться тем же хранилищем ключей для будущих обновлений.Узнайте больше о хранилище ключей здесь: https://developer.android.com/studio/publish/app-signing#generate-key

  2. После создания хранилища ключей вам следует воспользоваться утилитой jarsigner (которая находится в папке JDK)

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore your-release-key.keystore android-release-unsigned.apk alias -storepass password
Следующим шагом является использование инструмента zipalign (доступно в папке Android SDK) для проверки APK.
path-to-android-sdk/build-tools/version/zipalign -v 4 android-release-unsigned.apk android-prod-released-signed.apk
Последний шаг - проверка с помощью инструмента apksigner (доступно в папке Android SDK)
path-to-android-sdk/build-tools/version/apksigner verify android-prod-released-signed.apk

PS: заменить пути, файлы и пароли действительными значениями

0 голосов
/ 05 июня 2018

Шаг 1

Сначала вам нужно сгенерировать закрытый ключ подписи

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

Эта команда предложит вам ввести пароль для вашего хранилища ключей и ключа (также для некоторых дополнительных полей).Пожалуйста, не забывайте в любое время хранить хранилище ключей файл личное .

Шаг 2

Далее необходимо настроить gradle

  1. Поместите my-release-key.keystore, который вы сгенерировали на шаге 1, под android/app
  2. Обновите ~/.gradle/gradle.properties под android/app и добавьте следующее

    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>
    

Шаг 3

Наконец вам необходимо обновить android/app/build.gradle.

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
        }
    }
}

Теперь вы можете просто сгенерировать подписанный выпуск через командную строку, выполнив следующую команду в вашем каталоге Android

./gradlew assembleRelease

Затем сгенерированный apk можно найти в вашем build/outputs/apk/release каталог.

...