- Что может пойти не так?
- Что я могу сделать?
- Видеоверсия
- Еще пару моментов
- Загруженный файл apk подписан сертификатом, отличающемся от указанного вами
- Инструкция:
- Могу ли я извлечь исходный ключ подписи из оригинального apk?
- Могу ли я перейти на новый ключ подписи?
- Поиск исходного хранилища ключей, проверка резервных копий
- Соберите информацию из apk
- Сравните значения владельца, sha1 и expiry между apk
- Я не могу найти исходное хранилище ключей где угодно
Что может пойти не так?
Если у вас смартфон работает на прошивке MIUI, то приложение в процессе установки может выдать ошибку. В этом случае необходимо включить режим разработчика, в разных версиях прошивки это делается по разному, но чаще всего всё сводится к нескольким тапам по названию версии MIUI.
После того как режим разработчика включен, зайдите в расширенныенастройки -> Для разработчиков, опуститесь в самый низ и выключите оптимизацию MIUI (важно, что при выключении этой функции с телефона слетят все разрешения, выданные ранее для приложений, поэтому придется их включать еще раз.
Что я могу сделать?
Вам нужно будет создать приложение с новым идентификатором приложения (например, изменить с «com.example.myapp» на «com.example.myapp2») и создать новый список в Google Play.
Возможно, вам также придется изменить свой код, чтобы люди могли установить новое приложение, даже если у них установлено старое приложение, например, вам нужно убедиться, что у вас нет конфликтующих поставщиков контента.
Вы потеряете существующую базу установки, обзоры и т. Д., И вам придется найти способ заставить ваших существующих клиентов удалить старое приложение и установить новую версию.
Опять же, убедитесь, что у вас есть надежное резервное копирование хранилища ключей и паролей, которые вы используете для этой версии.
Видеоверсия
Существует несколько различных типов файлов, давайте рассмотрим их подробнее:
Еще пару моментов
- Приложение работает как с Root доступом, так и без него.
- Иногда после установки SAI, сервисы Google Play начинают сбоить. Если у вас такое происходит, нужно найти Сервисы Google в настройках. Отключить все разрешения для них, после этого заново включить. Проблема должна исчезнуть.
Вот вроде бы и все что нужно знать об установке файлов c расширением APKS на Андроид. Теперь зная это, вы сможете участвовать во многих закрытых бетах и играть в классные игры раньше своих друзей. Кстати, брать эти игры можно в нашем Телеграм-сообществе.
Загруженный файл apk подписан сертификатом, отличающемся от указанного вами
При обновлении прилодения в google play выскочила ошибка
Сбой при загрузке
Загруженный файл APK подписан сертификатом, отличающемся от указанного вами. Цифровой отпечаток вашего сертификата:
[ SHA1: ... ]
, цифровой отпечаток сертификата электронной подписи APK-файла:
[ SHA1: ... ]
Но я не мог подписать приложение не том ключом так как иного просто нет…
Между последней загрузкой и этой моей попыткой прошло около недели, за это время успела обновиться СТУДИЯ, но я не могу пинять на нее…
В первую очередь я надеюсь что задав вопрос сам пойму что не так делаю, но если ущу не удалил – значит не додумался…
Инструкция:
Шаг четвертый
Дождитесь установки файла и запустите игру. Всё просто? Правда?
Могу ли я извлечь исходный ключ подписи из оригинального apk?
Нет, это невозможно. APK содержит только общедоступную информацию, а не информацию личного ключа.
Могу ли я перейти на новый ключ подписи?
Нет. Даже если вы найдете оригинал, вы не можете подписывать APK с ключом A, а затем подписывать следующее обновление с помощью обоих ключей A и B, а затем подписывать следующее обновление после этого только с помощью клавиши B.
Подписание APK (или любого файла JAR) с несколькими ключами технически возможно, но Google Play больше не принимает APK с несколькими сигнатурами.
Попытка сделать это приведет к сообщению «Ваш APK был подписан с несколькими сертификатами. Пожалуйста, только подписывайте его одним сертификатом и загружайте его снова».
Поиск исходного хранилища ключей, проверка резервных копий
Если у двух APK есть разные данные сертификата, вы должны найти оригинальное хранилище ключей, то есть файл с первым значением отпечатка SHA1, которое вам сказал Google Play (или keytool ).
Поиск по всем файлам хранилища ключей, которые вы можете найти на своем компьютере, и в любых резервных копиях, которые у вас есть, до тех пор, пока вы не получите тот, у кого есть правильный отпечаток SHA1:
keytool -list -keystore my-release.keystoreПросто нажмите Enter, если будет предложено ввести пароль – вам необязательно вводить его, если вы просто хотите быстро проверить значение SHA1.
Соберите информацию из apk
Вы можете проверить, с какими сертификатами был подписан оригинальный APK и APK обновления, с помощью этих команд, используя Java keytool :
keytool -list -printcert -jarfile original.apk keytool -list -printcert -jarfile update.apkЭто показывает подробную информацию о том, как APK был подписан, например:
Owner: CN=My App, O=My Company, L=Somewhere, C=DE Issuer: CN=My App, O=My Company, L=Somewhere, C=DE Serial number: 4790b086 Valid from: Mon Nov 11 15:01:28 GMT 2021 until: Fri Mar 29 16:01:28 BST 2041 Certificate fingerprints: MD5: A3:2E:67:AF:74:3A:BD:DD:A2:A9:0D:CA:6C:D4:AF:20 SHA1: A6:E7:CE:64:17:45:0F:B4:C7:FC:76:43:90:04:DC:A7:84:EF:33:E9 SHA256: FB:6C:59:9E:B4:58:E3:62:AD:81:42:...:09:FC:BC:FE:E7:40:53:C3:D8:14:4F Signature algorithm name: SHA256withRSA Version: 3Важные части, которые следует отметить здесь – для каждого APK – это значение отпечатка SHA1, значение идентификатора владельца и даты « Действительный от / до дат».
Сравните значения владельца, sha1 и expiry между apk
Обратите внимание, что даже если значения Owner / X.509 идентичны между двумя сертификатами, это не означает, что сертификаты идентичны – если что-то еще не соответствует – например, значения отпечатка пальца – тогда сертификаты отличаются.
Я не могу найти исходное хранилище ключей где угодно
Если вы не можете найти оригинальное хранилище ключей, вы никогда не сможете публиковать обновления для этого конкретного приложения.
Android упоминает это явно на странице « Подписание вашего приложения» :
Предупреждение. Храните хранилище ключей и секретный ключ в безопасном и безопасном месте и убедитесь, что у вас есть надежное резервное копирование.Если вы опубликуете приложение в Google Play, а затем потеряете ключ, с которым вы подписали приложение, вы не сможете публиковать какие-либо обновления для своего приложения, так как вы должны всегда подписывать все версии вашего приложения с тем же ключом.
После первого выпуска APK все последующие релизы должны быть подписаны с помощью одного и того же ключа.
