Подписи подписи APK-файлов в RuStore: инструкции и рекомендации
Что такое подписи приложений Android?
RuStore поддерживает загрузку приложений в форматах APK и ААВ. Каждый APK-файл должен быть подписан цифровым сертификатом, который Android использует для идентификации автора приложения. Подпись необходимо хранить так же надёжно, как и личный пароль.
При загрузке файлов в формате ААВ, подпись приложения загруж ается отдельно в процессе загрузки приложения. Подробнее.
Как Android проверяет версии?
Android сравнивает цифровые отпечатки сертификатов каждого подписанного APK-файла.
Цифровой отпечаток — это последовательность байтов, которая создаётся путём применения криптографической хеш-функции к открытому ключу.
Цифровой отпечаток имеет примерно следующий вид.
43:51:43:a1:b5:fc:8b:b7:0a:3a:a9:b1:0f:66:73:a8
Для чего нужна проверка подписей?
Этот процесс необходим, если приложение было размещено в Google Play. При загрузке такого приложения в RuStore нужно использовать ту же подпись, что и в Google Play. Тогда пользователи смогут без ошибок обновить установленные на устройстве приложения, для которых в RuStore доступна более новая версия.
Обязательно ли использовать подпись с Google Play, если есть собственная?
Нет. Если ваше приложение есть в Google Play, но у вас есть собственная подпись, вам не нужно проходить проверку подписей. Вы можете сразу загрузить файлы с собственной подписью в RuStore. Процесс необходим только в том случае, если вы используете подпись Google Play. Также вы можете загрузить пакеты APK c двумя подписями.
Почему пользователи не могут обновить приложения?
Одна из распространённых ошибок паблишеров — это использование разных подписей для приложения, публикуемого в RuStore и других сторах.
Например, первоначально загружаемая версия приложения подписана одним сертификатом. А следующая версия подписана — другим. Из-за этих различий Android не позволяет установить обновления для этого приложения.
Почему так происходит:
-
Разработчик мог утратить сертификат и сгенерировал новый для публикации приложения в сторе.
-
Разработчики могут публиковать одно и то же приложение в разных магазинах. Например, изначально разработчик публиковал приложения в Google Play и использовал один сертификат. Но после перехода в RuStore начал использовать другой сертификат.
Таким образом, пользователи делятся на два типа:
- установившие приложение из Google Play;
- загрузившие из RuStore.
Если пользователь установил RuStore и хочет обновить приложение, которое ранее было загружено из Google Play, — он не сможет этого сделать из-за разных сертификатов.