Загрузить новый APK для Alpha - не удалось
Загрузить новый APK для Alpha
Загрузка не удалась
Вы загрузили APK с недействительной подписью (узнайте больше о подписи). Ошибка от apksigner: ОШИБКА: JAR_SIG_NO_SIGNATURES: Нет подписей JAR
Не уверен, что делать, я просто пытаюсь сделать альфа-релиз проекта Android Studio..
10 ответов
Я получал эту ошибку при обновлении до android studio 3.3
Решение было удалить build
папку, а затем повторите попытку.
Я думаю, что вы, вероятно, просто приняли настройки конфигурации по умолчанию во время процесса регистрации APK в Android Studio. В большинстве случаев это нормально, но может вызвать небольшую путаницу, если вы используете Android 7.0+. Начиная с версии 7.0, Android внедряет новую Схему подписи V2 в дополнение к "старой" V1. Предполагается, что новая схема обеспечит более быструю установку приложений и более надежную защиту от несанкционированного изменения файлов APK, поэтому она является схемой по умолчанию в диалоговом окне "Создание подписанного APK" в Android Studio.
Проблема в том, что Google Play в вашем случае хочет, чтобы применялась схема V1, то есть подпись JAR, а не подпись APK, как в V2. В документации Google Play прямо говорится: "Хотя мы рекомендуем применять APK Signature Scheme v2 к вашему приложению, эта новая схема не является обязательной. Если ваше приложение не работает должным образом при использовании APK Signature Scheme v2, вы можете отключить новую схему.".
Решение, которое я нашел в этих случаях, состоит в том, чтобы включить оба, как показано на скриншоте ниже. После этого подписанный APK должен быть без проблем принят системой управления версиями Google Play.
Диалоговое окно "Создать подписанный APK" в Android Studio
Это полная процедура:
- в Android Studio выберите "Сборка> Выбор вариантов сборки" и убедитесь, что выбран вариант "релиз"
- выберите "Создать> Создать подписанный APK" и введите информацию о вашем хранилище ключей. Я полагаю, что вы уже создали подписанный APK в своей предыдущей попытке, поэтому в этих полях уже должны быть установлены последние значения. Нажмите кнопку "Далее].
- На следующем экране вы должны убедиться, что V1 и V2 отмечены как версии подписи, затем нажмите [Готово], чтобы создать APK.
- Построить -> Чистый проект
- Установите флажки для версий подписей v1 и v2
Многие подсказки распространяются по комментариям выше, но эти шаги (НАКОНЕЦ) сработали для моего приложения для Android (Cordova) по состоянию на 11/2019:
Увеличить номер сборки / версии Android в манифесте (при необходимости)
Пробег
cordova buildandroid
Открыть проект в Android Studio
Запустите сборку> Чистый проект
Запустите сборку> Созданный подписанный пакет / APK
Заполните диалоговые окна и установите ТОЛЬКО флажок "V1 JAR" - не проверяйте флажок "V2 Full APK Signature".
Загрузить APK на панель управления Google Play
Скрестите пальцы
Сначала удалите свой проект build
папку, затем снова сгенерируйте apk или пакет. Это решение устранило проблему для меня.
Убедитесь, что вы используете правильный файл ключа сертификата, и выполните следующие действия в Android Studio:
- Нажмите Build -> Clean Project.
- Нажмите Build -> Generate Signed Bundle / APK.
- Следуйте инструкциям и убедитесь, что вы выбрали оба параметра в "Версии подписи" (V1 - подпись Jar и V2 - полная подпись APK)
Это должно сработать!
Эта ошибка была сделана после того, как я обновил свою Android Studio до последней версии и снова собрал ее.
(PS: теперь я получаю сообщение об ошибке: «Ваше приложение в настоящее время нацелено на уровень API 26 и должно быть ориентировано как минимум на уровень API 29, чтобы гарантировать, что оно построено на последних API, оптимизированных для обеспечения безопасности и производительности. Измените целевой уровень API вашего приложения как минимум на 29». "но это кажется простым решением ...)
У меня обновленная версия Android Studio. Поэтому у меня нет возможности проверить и v1, и v2.
Build Clean и Generate Signed Bundle/APK снова сработали для меня.