У меня есть приложение в Google Play в течение многих лет, которое обнаружило бесчисленные обновления. Последнее обновление (первое за время) не удается установить для некоторых людей, они просто получают сообщение об ошибке «Не зарегистрировано в пакете».«Пакет не подписан правильно», появляющийся для некоторых пользователей
Работает на устройствах для Android У меня дома. Я строй и подписание с пользовательской системой сборки, которая в основном сводится к вызову ant release
, а затем
jarsigner -verbose -keystore $(keystore) -storepass $(storepass) $(appname).apk $(alias)
zipalign -v 4 $(appname).apk $(finalname).apk
, который работал в течение многих лет, не было никаких изменений в систему сборки или хранилище ключей, я не знаю, почему он прекратил работать для пользователей.
я заметил, что documentation добавили следующую осторожность:
По состоянию на JDK 7, по умолчанию подписания algorithim [так в оригинале] изменилось, требуя указать подпись и переваривать algorithims [так в оригинале] (- sigalg и -digestalg), когда вы подписываете APK.
Поэтому я добавил -sigalg SHA1withDSA -digestalg SHA1
, который производит APK с разным размером. Я могу опробовать это, но я не хочу продолжать выталкивать обновления и раздражать пользователей, не зная, что я на самом деле что-то исправляю.
Почему это происходит только для некоторых людей? Как это исправить? Явным образом задаю -sigalg/-digestalg достаточно?
Возможный дубликат [Опубликованный Android apk дает ошибку «Файл пакета был подписан неправильно»] (http://stackoverflow.com/questions/2519374/published-android-apk-gives-error-package-file-was- not-signed-правильно) –