重新签署 Android Apk
如何重新签名 Android apk。我提到了这个答案 我可以使用与附带证书不同的证书重新签署 .apk 吗?
但遇到了 Android Manifest.xml 缺失错误。
How can I Re-sign an android apk. I referred to this answer Can I re-sign an .apk with a different certificate than what it came with?
but got stuck with Android Manifest.xml missing error.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
朋友们,我找到了解决这个问题的方法。使用 android 默认 debug.keystore 重新签名 Android Apk。
**在 winzip 浏览器中打开 apk,而不是解压到文件夹。
删除
META-INF
文件夹不需要再次压缩。**Jarsigner -verbose -keystore debug.keystore yourapk.apk 别名
jarsigner -verify yourapk.apk
zipalign -v 4 yourapk.apk 签名的apk.apk
第 1 步和第 2 步是我做错的地方,导致 androidmanifest xml 丢失错误。
Friends I found a work around to this . Resign Android Apk using android default debug.keystore.
**Open the apk in the winzip browser and not by unzipping to a folder.
Delete
META-INF
folder .zipping again is not required.**Jarsigner -verbose -keystore debug.keystore yourapk.apk aliasname
jarsigner -verify yourapk.apk
zipalign -v 4 yourapk.apk signedapk.apk
Step 1 and 2 was where I was doing wrong which gave me androidmanifest xml missing error.
降级到 JDK 1.6.0_43 解决了该问题。
要使用 JDK 1.7 对 apk 进行签名,必须使用这些关键字“-sigalg MD5withRSA -digestalg SHA1”
原因:
从 JDK 7 开始,默认签名算法已更改,要求您在签署 APK 时指定签名和摘要算法(-sigalg 和 -digestalg)。
命令:
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore [密钥库文件]
[原始apk] 别名
Downgrading to JDK 1.6.0_43 solved the problem.
To sign apks using JDK 1.7 one has to use these keywords "-sigalg MD5withRSA -digestalg SHA1"
Reason:
As of JDK 7, the default signing algorithim has changed, requiring you to specify the signature and digest algorithims (-sigalg and -digestalg) when you sign an APK.
Command:
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore [keystorefile]
[originalapk] alias_name