Это руководство предназначено для разработчиков, у которых уже есть приложение в Play Store. Если вы начинаете с нового приложения, процесс будет намного проще, и вы можете следовать указаниям пункта «Новые приложения» здесь.
Предпосылки, которые уже есть у 99% разработчиков :
Android Studio
JDK 8, и после установки вам необходимо настроить переменную среды в пользовательском пространстве, чтобы упростить команды терминала. В Windows x64 вам нужно добавить это: C:\Program Files\Java\{JDK_VERSION}\bin
в Path
переменную среды. (Если вы не знаете, как это сделать, вы можете прочитать мое руководство по добавлению папки в Windows 10Path
переменную среды ).
Шаг 0 : Откройте консоль разработчика Google Play, затем перейдите в Управление выпусками -> Подписание приложений .
Примите Условия использования подписи приложений.
Шаг 1 : Загрузите PEPK Tool, нажав кнопку, идентичную изображенной ниже.
Шаг 2 : Откройте терминал и введите:
java -jar PATH_TO_PEPK --keystore = PATH_TO_KEYSTORE --alias = ALIAS_YOU_USE_TO_SIGN_APK --output = PATH_TO_OUTPUT_FILE --encryptionkey = GOOGLE_ENCRYPTION_KEY
Легенда:
- PATH_TO_PEPK = путь к pepk.jar, который вы загрузили на шаге 1 , может быть чем-то вроде
C:\Users\YourName\Downloads\pepk.jar
для пользователей Windows.
- PATH_TO_KEYSTORE = Путь к хранилищу ключей, который вы используете для подписи APK- файла выпуска. Это может быть файл типа * .keystore или * .jks или без расширения. Что-то вроде
C:\Android\mykeystore
или и C:\Android\mykeystore.keystore
т.д ...
- ALIAS_YOU_USE_TO_SIGN_APK = Имя псевдонима, который вы используете для подписи APK выпуска.
- PATH_TO_OUTPUT_FILE = Путь к выходному файлу с расширением .pem, что-то вроде
C:\Android\private_key.pem
- GOOGLE_ENCRYPTION_KEY = Этот ключ шифрования всегда должен быть одинаковым. Вы можете найти его на странице подписи приложений, скопировать и вставить. Должно быть в таком виде:
eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
Пример:
java -jar "C: \ Users \ YourName \ Downloads \ pepk.jar" --keystore = "C: \ Android \ mykeystore" --alias = myalias --output = "C: \ Android \ private_key.pem" - encryptionkey = eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cad
Нажмите Enter, и вам нужно будет указать по порядку:
- Пароль хранилища ключей
- Пароль псевдонима
Если все прошло нормально, теперь у вас будет файл в папке PATH_TO_OUTPUT_FILE с именем private_key.pem
.
Шаг 3. Загрузите файл private_key.pem, нажав кнопку, идентичную изображенной ниже.
Шаг 4 Создайте новый файл хранилища ключей с помощью Android Studio.
ВАМ НУЖЕН ЭТОТ КЛЮЧЕВОЙ ХРАНИЛИЩ В БУДУЩЕМ, ЧТОБЫ ПОДПИСАТЬ СЛЕДУЮЩИЕ ВЫПУСКИ ВАШЕГО ПРИЛОЖЕНИЯ, НЕ ЗАБУДЬТЕ ПАРОЛИ
Откройте один из ваших Android-проектов (выберите произвольно). Перейдите в Build -> Generate Signed APK и нажмите Create new .
Теперь вам необходимо заполнить обязательные поля.
Путь к хранилищу ключей представляет новое хранилище ключей, которое вы создадите, выберите папку и имя, используя значок с тремя точками справа, я выбрал C:\Android\upload_key.jks
выбрал (расширение .jks будет добавлено автоматически)
ПРИМЕЧАНИЕ. Я использовал upload
в качестве нового псевдонима, но если вы ранее использовали одно и то же хранилище ключей с разными псевдонимами для подписи разных приложений, вам следует выбрать то же имя псевдонима, которое вы ранее использовали в исходном хранилище ключей.
Нажмите ОК, когда закончите, и теперь у вас будет новый upload_key.jks
хранилище ключей. Вы можете закрыть Android Studio сейчас.
Шаг 5 : Нам нужно извлечь сертификат загрузки из вновь созданного upload_key.jks
хранилища ключей. Откройте терминал и введите:
keytool -export -rfc -keystore UPLOAD_KEYSTORE_PATH -alias UPLOAD_KEYSTORE_ALIAS -file PATH_TO_OUTPUT_FILE
Легенда:
- UPLOAD_KEYSTORE_PATH = Путь к только что созданному складу ключей загрузки. В этом случае было
C:\Android\upload_key.jks
.
- UPLOAD_KEYSTORE_ALIAS = Новый псевдоним, связанный с хранилищем ключей загрузки. В этом случае было
upload
.
- PATH_TO_OUTPUT_FILE = Путь к выходному файлу с расширением .pem. Что-то вроде
C:\Android\upload_key_public_certificate.pem
.
Пример:
keytool -export -rfc -keystore "C: \ Android \ upload_key.jks" -alias upload -file "C: \ Android \ upload_key_public_certificate.pem"
Нажмите Enter, и вам нужно будет указать пароль хранилища ключей.
Теперь, если все прошло нормально, у вас будет файл в папке PATH_TO_OUTPUT_FILE с именем upload_key_public_certificate.pem
.
Шаг 6. Загрузите upload_key_public_certificate.pem
файл, нажав кнопку, идентичную изображенной ниже.
Шаг 7 : Нажмите кнопку ENROLL в конце страницы подписи приложения.
Теперь каждый новый выпуск APK должен быть подписан upload_key.jks
хранилищем ключей и псевдонимами, созданными на шаге 4. , перед загрузкой в консоль разработчика Google Play.
Дополнительные ресурсы:
Вопросы и ответы
В: Когда я загружаю APK, подписанный с новым хранилищем ключей upload_key, Google Play показывает ошибку, например: Вы загрузили неподписанный APK. Вам необходимо создать подписанный APK .
О: Установите флажок, чтобы подписать APK обеими подписями (V1 и V2) при создании APK выпуска. Читать здесь .
ОБНОВЛЕНО
Шаг 4, 5, 6 - создание ключа загрузки, который не является обязательным для существующих приложений.
«Ключ загрузки (необязательно для существующих приложений): новый ключ, который вы создаете во время регистрации в программе. Вы будете использовать ключ загрузки для подписи всех будущих APK-файлов перед их загрузкой в Play Console».
https://support.google.com/googleplay/android-developer/answer/7384423
"C:\My Path\MyName"
но не, если путьC:\MyPath\MyName
. Кстати, спасибо :)Step 4
руководство: DЕсть гораздо более простое решение, которое займет минуту.
Готово!
Теперь вы можете загрузить созданный ранее релиз :) Удачи!
источник
При переносе файла пакета приложения Android (APK) в Android App Bundle (AAB), публикации приложения в Play Store я столкнулся с этой проблемой и решил ее, как показано ниже ...
При создании
.aab
файла вам будет предложено указать место для хранения пути экспорта ключа, как показано ниже:На втором изображении вы найдете путь для экспорта зашифрованного ключа. Место, где наш .pepk будет храниться в определенной папке при создании файла .aab.
После того, как вы войдете в консоль Google Play с учетными данными магазина воспроизведения: выберите свой проект с левой стороны, выберите параметр подписи приложения Управление выпуском >> Подписание приложения
вы найдете окно Сертификации подписи приложений Google ПРИНИМАЙТЕ его.
После этого вы найдете три переключателя выбора **
**, это расширит вашу кнопку ПОДПИСАНИЕ ПРИЛОЖЕНИЯ ЧАСТНЫЙ КЛЮЧ, как показано ниже
нажмите на кнопку и выберите
.pepk
файл (Мы сохранили при создании.aab
файла, как указано выше)Прочтите все остальные варианты и отправьте.
После успешного завершения вы можете вернуться к выпуску приложения, просмотреть файл .aab и завершить RollOut ...
@Ambilpura
источник
Пришлось сделать следующее:
2. перейти к Выпуски приложений -> Управление производством -> Создать выпуск.
3.Нажмите "Продолжить" в Google Play App Signing.
4. Создайте сертификат загрузки, запустив «keytool -genkey -v -keystore c: \ path \ to \ cert.keystore -alias uploadKey -keyalg RSA -keysize 2048 -validity 10000»
5.Подпишите свой apk сгенерированным сертификатом (c: \ path \ to \ cert.keystore)
6.Загрузите подписанный apk в Выпуски приложений -> Управление производством -> Редактировать выпуск
7. После загрузки apk сертификат, созданный на шаге 4, был добавлен в сертификаты подписи приложений и стал вашим сертификатом подписи для всех будущих сборок.
источник
Когда вы используете Fabric для общедоступных бета-версий (подписанных с помощью конфигурации prod), НЕ ИСПОЛЬЗУЙТЕ подпись приложений Google Play. Вы должны после сборки двух подписанных apks!
Когда вы распространяете в другие игровые магазины (samsung, amazon, xiaomi, ...), вам снова нужно будет собрать два подписанных apk.
Так что будьте очень осторожны с подпиской Google Play App Signing.
Отменить его невозможно : / и Google Play не принял apks, подписанные с помощью производственного ключа. После включения подписи приложений Google Play принимается только ключ загрузки ...
Это действительно усложняет распределение CI ...
Следующие проблемы с обновлением: https://issuetracker.google.com/issues/69285256
источник
DON'T USE
Комментарии, написанные жирным заглавным шрифтом, опасны. Можете ли вы подробно объяснить проблему и рекомендуемое решение? Нет ли решения вообще? Неужели так сложно дважды подписать APK для Fabric?Сделайте следующее:
источник