我开发了一个Android应用程序,可以用Eclipse插件签名,但我想用jarsigner和zipalign手动签名,这样我就可以自己选择算法和密钥了。
我用这个命令创建了一个Keystore:
keytool -genkey -v -keystore keystore_name -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
我的第一个问题是我无法使用Eclipse插件进入Keystore。它说:
Keystore was tampered with, or password was incorrect
所以我继续这样的jarsigner:
jarsigner -verbose -keystore keystore_name my_application.apk alias_name
它工作正常。 最后我运行工具拉链:
zipalign -v 4 inputfile.apk outputfile.apk
我可以毫不费力地在市场上发布我的应用。但是,当朋友下载我的应用时,他会收到错误:Package file was not signed correctly
此外,我无法手动安装我的应用程序。但是使用Eclipse插件签名的版本运行正常。
现在我遇到的一个大问题是,我无法上传新的apk文件做市场,因为它说它是用其他证书签名的。 我该怎么办?
答案 0 :(得分:0)
不确定这是否会有所帮助,但之前我遇到过类似的问题。在尝试了一些事情后,我使用了像这样的jarsigner,它一直很好用:
jarsigner -verbose -digestalg SHA1 -sigalg MD5withRSA -keystore %path to key store here% -signedjar %the name you want for your signed apk here% %the apk you want to sign here% your.keystore
编辑:
刚刚注意到您的问题是关于如何处理市场上的应用程序。我没有帮助。遗憾。
答案 1 :(得分:0)
验证您正在使用的keytool
:
which keytool
检查它是否设置为openjdk ... Android仅支持Sun / Oracle Java作为keytool。