Google Play неожиданно возражает, что подпись моего приложения недействительна - PullRequest
0 голосов
/ 25 мая 2018

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

"Вы загрузили APK с недопустимой подписью (узнайте больше о подписании). Ошибка от apksigner: ОШИБКА: JAR_SIG_NO_MANIFEST: Отсутствует META-INF/MANIFEST.MF"

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

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

(Приложение:)

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

Player settings for erroneous project

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

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Решено!

Кажется, что по какой-то причине обновление 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, пока не убедитесь, что у вас есть несколько дней, которые можно потратить.

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

0 голосов
/ 25 мая 2018

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

...