Мы долго делали свое приложение и решили сделать первую apk, чтобы протестить, как будет работать первый релиз. Для этого нам необходимо его подписать с помощью ключа.
Для начала, нам нужно создать сам ключ. Он необходим , чтобы никто не смог загрузить ваше приложение повторно.
Ключ можно сгенерировать с помощью keytool. На windows она находится по адресу C:\Program Files\Java\jdkx.x.x_x\bin
keytool -genkeypair -v -storetype PKCS12 -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
На mac вам нужно вбить в терминале /usr/libexec/java_home
и увидите путь, примерно такой: /Library/Java/JavaVirtualMachines/jdkX.X.X_XXX.jdk/Contents/Home
. Затем в терминале перейти к cd /your/jdk/path
и запустить команду с sudo доступом:
sudo keytool -genkey -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
Буквально несколько шагов и ваш файл уже в папке.
Теперь давайте настроим наше приложение, чтобы при сборке приложение подписывалось нашим новым ключом.
- Загрузите файл
my-upload-key.keystore
в папкуandroid/app
- В
android/gradle.properties
в конце файла добавьте следующее (заменив названия файла, алиаса и паролей):
MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
MYAPP_UPLOAD_STORE_PASSWORD=*****
MYAPP_UPLOAD_KEY_PASSWORD=*****
Также необходимо указать конфиг подписи в android/app/build.gradle
...
android {
...
defaultConfig { ... }
signingConfigs {
release {
if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
storeFile file(MYAPP_UPLOAD_STORE_FILE)
storePassword MYAPP_UPLOAD_STORE_PASSWORD
keyAlias MYAPP_UPLOAD_KEY_ALIAS
keyPassword MYAPP_UPLOAD_KEY_PASSWORD
}
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
...
Теперь вы можете собирать apk командой cd android & ./gradlew assembleRelease
, либо cd android & ./gradlew bundleRelease
, если нужно сделать .aab для загрузки в playmarket.
Жду ваших комментариев.