Инструкция от гугл как сгенерировать новый ключ для подписи приложения на android

Что делать если забыл пароль к сертификату android приложения

При обновлении приложения на плей маркете (play.google.com) оно должно быть подписан тем же сертификатом, что и раньше. Обычно это файл .jks или .keystore, в котором хранятся данные об издателе. Сертификат подтверждает что вы владелец приложения.

Но что делать если потеряли сертификат? Или забыли пароль к сертификату или алиас? Решение дальше.

Что делать если забыл пароль к сертификату android приложения

Универсальное решение — писать в поддержку гугл через свой аккаунт разработчика. Это проверенный вариант, всегда мне помогал. Другого рабочего варианта я не знаю. Минус — занимает время. Иногда это пару недель. Но если подготовится и все сделать правильно, то можно уложиться в 3-4 дня.

Все что описано ниже — рабочий вариант. Переписка должна вестить на английском языке. Во всех 100% случаев за последние два года поддержка отвечала именно так. Последний случай до написания статьи был в средине октября 2020 года.

Подписать новым сертификатом и ответить гуглу

  1. Пишите в поддержку гугла. Распишите подробно что случилось: поменял систему, потерял файл, удалил файл,забыл пароль, пропал программист.
  2. Они пришлют ссылку как сгенерировать новый ключ.
  3. Сгенерируйте ключ и извлеките файл pem.
Инструкция от гугл как сгенерировать новый ключ для подписи приложения на android
Инструкция от гугл как сгенерировать новый ключ для подписи приложения на android. Более детально описываю ниже

Как сгенерировать новый ключ для обновления приложения в play market

Нам понадобится утилита keytool. Она идет при установке Java (jdk). У меня размещена по пути C:\Program Files\Java\jdk1.8.0_102\bin .

Пример вывода Keytool после установки. Синтаксис keytool
Пример вывода Keytool после установки. Синтаксис keytool

По условиям гугл ключ должен быть 2048-битным ключом RSA и иметь срок действия 25 лет. Через командную строку пишем (вариант через Android studio описан ниже):

Дальше следуем инструкциям. При вводе пароля символы могут не отображаться! (кто не знает).

P.S. Файл создается в той папке, где Вы находитесь. Эта инструкция подразумевает что Вы знакомы хотя бы с командной строкой и можете разобраться в синтаксисе. Если не можете справиться сами, попросите своего программиста или обратитесь ко мне (за вознаграждение).

После создания ключа нужно «извлечь» файл .pem:

Дальше этот файл и нужно сбросить в ответ на письмо от гугла. Обычно работники гугл присылают инструкцию и пишут что-то вроде «Ответьте на это письмо и прикрепите файл upload_certificate.pem .» Отправляем файл и ждем.

После этого они напишут что можете загружать новую версию приложения.

ВНИМАНИЕ! Не грузите обновление до подтверждения от гугл. Оно не пройдет.

Создать сертификат через Android Studio

Новичкам часто удобно создавать сертификат и alias прямо в android studio. Вы можете создать новый ключ там, но извлечь pem нужно будет через keytool.

В Android Studio и инструкции от гугла есть пункт «экспортировать ключ для подписи приложения в google play» (.pepk файл). Но пока у меня запрашивали только .pem файл.

Новый сертификат jks в android studio
Создать новый сертификат для подписи приложения в android studio

Что делать если забыл пароль к alias

В файле ключа keystore/jks может хранится много alias. Если у Вас есть пароль к сертификату, но забыли пароль к alias — попробуйте создать новый alias.

Почему нельзя просто обновить приложение android

Потому что. Постараюсь обьяснить если Вам не все равно.

Приложение имеет свое уникальное имя пакета. В плей маркете привязка идет конкретно к этому «имени пакета». Сделать новое приложение с таким же именем не проблема. Но загрузить с этого или другого аккаунта в маркет уже нельзя будет!

Обновить можно, только если подписать тем же сертификатом (ключом). Так нужно для защиты. Это подтверждает что Вы владелец этого приложения и владелец нового обновления, и подтверждаете что там нет вредоносного кода.

Что делать если есть файл приложения арк, исходники проекта, но нет ключа (сертификата). Можно обновить в маркете?

Без пароля и без самого ключа  — нельзя. Только писать в поддержку.

Как не зависеть от разработчика в разрезе подписи android приложения

У меня много раз заказывали обновление приложения. Чтобы успешно это сделать есть два варианта: наличие ключа и пароля к нему (и к alias, они могут отличаться!). Или второй — писать в поддержку.

Имя пакета я могу увидеть в маркете, но без ключа и паролей обновление не получиться!

Пару советов заказчикам:

  1. Просите у программиста ключ, которым он подписал приложение и пароль к нему.
  2. Если пароль к alias отличается — его тоже.

Также есть вариант когда заказчик сбрасывает Вам unsigned apk (неподписанное приложение). В этом случае можно самому подписать через keytool и другие утилиты. Или использовать вариант подписывания приложения Google (они сами подпишут своим сертификатом).

Отмечу, второй вариант мне не попадался (с unsigned apk). Хотя всегда при загрузке app bundle (apk я почти не гружу) я включаю опцию подписывания приложения сертификатом от гугл.

Постскриптум

Описал немного лишнего, для понимания. Запомните просто, для решения этой проблемы нужно писать в поддержку и никак по-другому.

0 Comments

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *