реагировать родной Создание подписанного APK

Пытаюсь сгенерировать apk для выпуска в Google play. Я выполняю следующие шаги: https://facebook.github.io/react-native/docs/signed-apk-android.html

Шаг 1) Я выполнил эту команду

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

Он задал мне вопрос, на который я ответил, и сгенерировал файл my-release-key.keystore.

Я поместил файл my-release-key.keystore в каталог android / app папки вашего проекта.

Теперь он говорит: Отредактируйте файл ~ / .gradle / gradle.properties и добавьте следующее (замените ***** правильным паролем хранилища ключей, псевдонимом и паролем ключа),

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore 
MYAPP_RELEASE_KEY_ALIAS=my-key-alias 
MYAPP_RELEASE_STORE_PASSWORD=***** 
MYAPP_RELEASE_KEY_PASSWORD=*****

Теперь в /root/.gradle/gradle.properties ранее не было файла, поэтому я создал новый файл и добавил указанные выше 4 константы и их значения. Также он сообщает (замените ***** правильным паролем хранилища ключей, псевдонимом и паролем ключа)

Этот шаг меня больше всего сбивает с толку, так как в поле псевдонима нет *****. И когда я сгенерировал файл my-release-key.keystore, я не получил псевдонима

Итак, что я должен поставить вместо псевдонима my-key-alias?

Что такое псевдоним моего ключа?

кроме двух паролей, которые я ввел, команда keytool сгенерировала что-то вроде этого

CO=Dev Abhi, OP=The Awesome Coder, L=The Awesome Coder, M=Delhi, SP=Delhi, M=IN

выше алиса?

так что мне нужно заменить такие вещи, как

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore 
MYAPP_RELEASE_KEY_ALIAS=CO=Dev Abhi, OP=The Awesome Coder, L=The Awesome Coder, M=Delhi, SP=Delhi, M=IN 
MYAPP_RELEASE_STORE_PASSWORD=password1
MYAPP_RELEASE_KEY_PASSWORD=password2

а также Настоящий путь для ~ / .gradle / gradle.properties /root/.gradle/gradle.properties ??


person Abhishek Kumar    schedule 26.06.2016    source источник
comment
откуда вы взяли MYAPP_RELEASE_KEY_PASSWORD? при создании хранилища ключей запрашивается только пароль хранилища ключей!   -  person Alauddin Ahmed    schedule 04.02.2020
comment
keytool теперь по умолчанию используется PKCS12, который, похоже, не требует пароля для ключа. Чтобы сгенерировать пароль для ключа, тип хранилища должен быть установлен как jks. См. Этот ответ: stackoverflow.com/a/49599630/9723036   -  person Fanchen Bao    schedule 11.08.2020


Ответы (2)


Наконец-то я смог сгенерировать подписанный apk. Итак, то, что мне не хватало -

когда вы запускаете команду

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

после опции -alias мы упоминаем любое имя / термин 'my-key-alias'. это на самом деле то, что нам нужно запомнить, и мы будем использовать тот же термин, что и этот, на более позднем этапе

MYAPP_RELEASE_KEY_ALIAS=my-key-alias

остальное в соответствии с документацией. Но я по-прежнему считаю, что создание подписанного apk можно было бы упростить для понимания команды разработчиков bay react. Если кто-то столкнется с этой же проблемой, свяжитесь с нами через http://customphpscript.com.

person Abhishek Kumar    schedule 26.06.2016

Не уверен, что это поможет вам, но у меня была точно такая же проблема. Моя проблема заключалась в том, что файл, который я редактировал ~/.gradle/gradle.properties, не является файлом в каталоге вашего проекта, а находится в корневом каталоге вашей операционной системы. Как только я переместил переменные в это место, я смог сгенерировать подписанный apk!

person sdotson    schedule 13.06.2017