Android-подписанный APK отображается как неподписанный APK при попытке загрузки в производство
Я подписал свой APK в Android Studio 2.3 (build-> создать подписанный APK). Когда я пытаюсь загрузить его в магазин Google Play, отображается ошибка, что я загрузил неподписанный APK. Кто-нибудь может ответить, почему это происходит и как это решить?
6 ответов
Он успешно загружен, когда я установил подпись APK в Android Studio 2.3 вместо V2 (подпись Jar) вместо V2 (полная подпись APK)
Android 7.0 представляет APK Signature Scheme v2, новую схему подписи приложений, которая предлагает более быструю установку приложений и лучшую защиту от несанкционированного изменения файлов APK.
При создании подписанного apk есть два флажка.
- V1 (Jar Подпись)
- V2 (Полная подпись apk)
Нам доступны три варианта:
выберите V1 (для более старой версии подписи) - apk успешно загружен
выберите V2 (для более новой версии подписи) - обратите внимание, что выбор только этого не будет работать.
выберите V1 и V2 (для более старой и новой версии) - apk успешно загружен
Почему выбор одного V2 не работает?
Потому что APK Signature Scheme v2 была представлена в Android 7.0 (Nougat). Чтобы сделать APK устанавливаемым на Android 6.0 (Marshmallow) и более старых устройствах, APK должен быть подписан с использованием JAR-подписи, прежде чем подписываться по схеме v2.
Для получения дополнительной информации прыгайте здесь
Это потому, что вы используете только подпись v2 при сборке релиза.
Так что же упоминается в v1 и v2?
v1 - это механизм подписи по умолчанию, а v2- новейший добавленный механизм, который проверяет намного быстрее. Это означает, что APK-файлы с подписью v2 устанавливаются / обновляются немного быстрее на Android Nougat (Android 7.0, API Level 24) и новее.
Итак, что нужно делать?
Если вы хотите подписать приложение без каких-либо изменений
Проверьте v1 (только подпись jar), которая используется по умолчанию.
Если вам нужна новейшая подпись и поддержка версий 7.x
Проверьте v2 (полная подпись Apk), которая также уменьшает размер приложения.
Если вы хотите, чтобы приложение было меньше, оно могло быть установлено быстрее и совместимо со всеми версиями Android.
Проверьте оба v1 и v2.
PS: применимо только для подписи приложений в Studio, кроме использования каналов для сборки.
Для большего количества ссылок Ссылка
Как подписать APK с помощью V2
https://developer.android.com/studio/command-line/apksigner.html
Шаг 1) Android Studio, выберите Вид> Инструмент Windows > Терминал
gradlew assembleRelease
2) Совместите неподписанный APK с помощью zipalign:
zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk
3) Подпишите ваш APK с помощью закрытого ключа, используя apksigner:
apksigner sign --ks my-release-key.jks my-app-unsigned-aligned.apk --out my-app-release.apk
Примечание. Чтобы использовать инструмент apksigner, у вас должна быть установлена ревизия 24.0.3 или выше Android SDK Build Tools. Вы можете обновить этот пакет с помощью SDK Manager.
4) Убедитесь, что ваш APK подписан:
apksigner verify my-app-release.apk
Примечание. Выполните шаги 2–4 в командной строке G:\AndroidStudio\Sdk\build-tools\25.0.0\
Если вы достигнете этого, используйте Android Studio 3.3 и ошибка будет появляться независимо от того, установлены вы флажки "Подпись" или нет, попробуйте вручную удалить папку app/build.
Источник: /questions/29784030/zagruzit-novyij-apk-dlya-alpha-ne-udalos/29784040#29784040
Согласно приложенному снимку экрана выберите как V1(подпись Jar), так и V2(полная подпись APK). Это будет работать.
Это проблема от Google, и она выпущена два дня назад на этой странице