Ответ 1
Это руководство ориентировано на разработчиков, у которых уже есть приложение в Play Store. Если вы начинаете с новым приложением, процесс будет намного проще, и вы можете следовать указаниям параграфа "Новые приложения" отсюда
Предпосылки, которые уже есть у 99% разработчиков:
-
Android Studio
-
JDK 8 и после установки вам нужно настроить переменную окружения в вашем пользовательском пространстве, чтобы упростить команды терминала. В Windows x64 вам нужно добавить это:
C:\Program Files\Java\{JDK_VERSION}\bin
в переменную средыPath
. (Если вы не знаете, как это сделать, вы можете прочитать мое руководство, чтобы добавить папку в переменную среды Windows 10Path
).
Шаг 0: Откройте консоль разработчика Google Play, затем перейдите в Управление выпусками → Подписание приложения.
Примите приложение, подписывающее TOS.
Шаг 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" [ CN04] = eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
Нажмите Enter, и вам нужно будет указать по порядку:
- Пароль хранилища ключей
- Пароль псевдонима
Если все прошло хорошо, теперь у вас будет файл в папке PATH_TO_OUTPUT_FILE с именем private_key.pem
.
Шаг 3: Загрузите файл private_key.pem, нажав кнопку, идентичную изображению ниже
Шаг 4. Создайте новый файл хранилища ключей с помощью Android Studio.
ВАМ НУЖЕН ЭТОТ КЛЮЧЕВЫЙ В БУДУЩЕМ, ЧТОБЫ ПОДПИСАТЬ СЛЕДУЮЩУЮ РЕЛИЗУ ВАШЕГО ПРИЛОЖЕНИЯ, НЕ ЗАБЫВАЙТЕ ПАРОЛИ
Откройте один из ваших проектов Android (выберите один наугад). Перейдите в "Сборка" → "Создать подписанный APK" и нажмите "Создать новый".
Теперь вы должны заполнить необходимые поля.
Путь к хранилищу ключей представляет новое хранилище ключей, которое вы создадите, выберите папку и имя, используя значок 3 точки справа, я выбрал
C:\Android\upload_key.jks
(расширение .jks будет добавлено автоматически)ПРИМЕЧАНИЕ. Я использовал
upload
в качестве нового имени псевдонима, но если ранее вы использовали одно и то же хранилище ключей с разными псевдонимами для подписи разных приложений, вам следует выбрать то же имя псевдонима, которое было ранее в исходном хранилище ключей.
Нажмите OK, когда закончите, и теперь у вас будет новое хранилище ключей 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 загрузить -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, перед upload_key.jks
консоль разработчика Google Play.
Больше ресурсов:
- Документация Google по подписанию приложения Google Play
- Форма для запроса сброса вашего хранилища ключей загрузки, если вы потеряете его
Вопрос &
Q: Когда я загружаю APK, подписанный с новым хранилищем ключей upload_key, Google Play показывает ошибку вроде: Вы загрузили неподписанный APK. Вам необходимо создать подписанный APK.
A: Установите флажок, чтобы подписать APK обеими сигнатурами (V1 и V2) при создании выпуска APK. Читайте здесь для более подробной информации.
ОБНОВЛЕНО
Шаг 4,5,6 - создать ключ загрузки, который не является обязательным для существующих приложений.
"Ключ загрузки (необязательно для существующих приложений): новый ключ, который вы генерируете во время регистрации в программе. Вы будете использовать ключ загрузки, чтобы подписать все будущие APK файлы перед их загрузкой в Play Console". https://support.google.com/googleplay/android-developer/answer/7384423