Как подписать android приложение на react native

Мы долго делали свое приложение и решили сделать первую 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

Буквально несколько шагов и ваш файл уже в папке.

Теперь давайте настроим наше приложение, чтобы при сборке приложение подписывалось нашим новым ключом.

  1. Загрузите файл my-upload-key.keystore в папку android/app
  2. В 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.

1 Комментарий

Оставить комментарий

Ваш email не будет опубликован.