2011-12-17 160 views
0

我开发了一个Android应用程序,并可以使用Eclipse插件签名,但我想用jarsigner和zipalign手动签名,以便我可以选择算法和密钥大小自。手动签名android应用程序无法正常工作

我创建了一个密钥库使用此命令:

keytool -genkey -v -keystore keystore_name -alias alias_name -keyalg RSA -keysize 2048 -validity 10000 

我的第一个问题是,我不能与Eclipse插件输入密钥存储。它说:

Keystore was tampered with, or password was incorrect 

所以我还是继续进行的jarsigner这样的:

jarsigner -verbose -keystore keystore_name my_application.apk alias_name 

,它工作正常。 终于我运行该工具zipaling:

zipalign -v 4 inputfile.apk outputfile.apk 

我可以发布我的应用程序在市场上没有任何麻烦。但是当朋友下载我的应用程序时,他得到错误:Package file was not signed correctly

此外,我无法安装我的应用程序手动签名。但是,与Eclipse插件签署的版本工作正常。

现在我遇到的大问题是,我无法上传新的apk文件做市场,因为它说它是用其他证书签名的。 我能做什么?

+0

您是否尝试过签署其他应用程序以查看是否发生了同样的事情?您是否尝试过使用DSA加密方法来查看是否存在相同的问题? – dmarges 2011-12-17 21:20:44

+0

不,我没有,但我的问题是,我有一个腐败的应用程序在我的帐户,并不能让它的作品,因为它没有正确签署,我不能上传一个新的签署的版本工作 – c0nstan 2011-12-17 21:24:11

+0

好吧,我可以解决1个问题。密码中不允许&符号。没有这个符号,我可以用Eclipse Plugin输入我的密钥库 – c0nstan 2011-12-17 21:53:53

回答

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 

编辑:

只注意到你的问题是什么,以与市场上的应用程序做。我在那里没有帮助。抱歉。

0

验证keytool您使用:如果

which keytool 

检查它设置为OpenJDK的... Android支持只有太阳/ Oracle的Java作为密钥工具。