Google Play внезапно возражает, что моя подпись приложения недействительна


У меня есть приложение, которое находится прямо над датой его публикации (переход от бета-версии к кандидату на выпуск). Все хорошо, но я только что обновил Android Studio с rc6 до rc7. Приложение (игра) разработано с Unity 2018.1, и все вроде бы было хорошо; но при загрузке apk в Play Store, я вдруг получаю сообщение:

" вы загрузили APK с недействительной подписью (подробнее о подписи). Ошибка от apksigner: ошибка: JAR_SIG_NO_MANIFEST: отсутствует МЕТА-ИНФ / МАНИФЕСТ.МФ "

Я не являюсь опытным разработчиком Android (только что вошел в него, возможно, четыре месяца назад), поэтому я не совсем уверен, о чем идет речь. Я использую то же хранилище ключей, что и всегда, и Unity компилирует APK без жалоб. (Это буквально компиляция rc1.)

Может ли кто-нибудь дать мне представление о том, что могло измениться? Что случилось с моей подписью/манифестом?

(добавление:)

Как и было запрошено, скриншот настроек плеера из Unity. Обратите внимание, что я я проверил, что имя пакета является абсолютно точным, предварительно загруженные активы-это пустой список, и никаких изменений в мое хранилище ключей не было внесено. Кроме того, мы попытались загрузить APK в новую запись магазина, в случае, если это была ситуация, и мы получили точно такую же ошибку.

Настройки плеера для ошибочного проекта

На данный момент мы пытаемся немного обновить Android Studio и загрузить дополнительные API для Android (все от 4.1 до 8.1, а не только некоторые из них). Несмотря на то, что традиционное значение термина "API", мне кажется, что это может быть связано с аппаратной зависимостью в этом случае, и это может быть искажение файлов манифеста. Если это что-то решит, я обязательно отвечу на этот вопрос сам.

2 2

2 ответа:

Решил ее!

Похоже, что по какой-то причине обновление SDK оставило меня без определенных уровней API. Это, вероятно, привело к компилируемому, но довольно запутанному APK; Google Play искал явные ссылки на несуществующие фрагменты.

Чтобы проиллюстрировать это, я настроил свое приложение на запуск с 4.1 (API 16) по 8.1 (API 27). В моей системе был только API 27. Почему это не привело хотя бы к предупреждению от компилятора, я честно не знаю; но после перехода к каталог bin Android SDK и запуск:

sdkmanager "platforms;android-[API number]"

Для каждого API, который я пропустил, а затем перезапуск (что с Windows и все такое...), он составил адекватный APK, который был принят на магазине.

Все это испытание было на самом деле довольно утомительным, и решение могло бы быть очевидным, если бы я комфортно работал ближе к голому металлу. Мораль? Не обновляйте SDK в середине проекта, пока не убедитесь, что у вас есть несколько расходных дней.

Надеюсь, что это решение поможет кто-то другой с такой же проблемой.

Проверьте хранилище ключей. Вы использовали тот же псевдоним? Вы должны использовать тот же псевдоним.