某些用户出现"未正确签名的包"

Ebo*_*ike 7 android jar-signing google-play

我在Google Play上有一个应用程序多年来已经看到了无数的更新.最新的更新(有一段时间的第一个)无法为某些人安装,他们只是得到"包未正确签名"错误消息.

它适用于我家里的Android设备.我正在使用自定义构建系统构建和签名,该系统基本上归结为调用ant release,然后是

jarsigner -verbose -keystore $(keystore) -storepass $(storepass) $(appname).apk $(alias)
zipalign -v 4 $(appname).apk $(finalname).apk
Run Code Online (Sandbox Code Playgroud)

这已经工作了多年,构建系统或密钥库没有变化,我不知道它为什么停止为某些用户工作.

我注意到文档添加了以下注意事项:

从JDK 7开始,默认签名算法[sic]已更改,要求您在签署APK时指定签名和摘要算法[原文如此](-sigalg和-digestalg).

所以我补充说-sigalg SHA1withDSA -digestalg SHA1,它产生了一个不同大小的APK.我可以尝试滚动它,但我不想继续推出更新并惹恼用户,而不知道我实际上正在修复某些东西.

为什么这对某些人来说只会失败?我如何解决它?明确指定-sigalg/-digestalg吗?

Ped*_*iro 1

检查这个答案:

\n\n

发布的 Android apk 出现错误 \xe2\x80\x9cPackage 文件未正确签名

\n\n

该问题似乎与 jdk7 有关,因此您的修复可以解决该问题(但我自己没有遇到过!)

\n