【问题标题】:Signing android app manually doesn't work properly手动签署 android 应用程序无法正常工作
【发布时间】:2011-12-17 21:03:31
【问题描述】:

我开发了一个 Android 应用程序,可以使用 Eclipse 插件对其进行签名,但我想使用 jarsigner 和 zipalign 手动对其进行签名,以便我可以自行选择算法和密钥大小。

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

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 文件上传到市场,因为它说它是用其他证书签名的。 我能做什么?

【问题讨论】:

  • 您是否尝试过签署其他应用程序以查看是否发生同样的事情?有没有试过DSA加密的方法,看看有没有同样的问题?
  • 不,我没有,但我的问题是,我的帐户中有一个损坏的应用程序并且无法使其工作,因为它没有正确签名,我无法上传一个新的签名版本,它可以工作跨度>
  • 好的,我可以解决 1 个问题。密码中不允许使用 & 符号。没有这个符号,我可以使用 Eclipse 插件进入我的密钥库

标签: android google-play signing


【解决方案1】:

不确定这是否会有所帮助,但我之前遇到过类似的问题。在尝试了一些事情之后,我像这样使用了 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

编辑:

刚刚注意到您的问题是关于如何处理市场上的应用。我在那里没有帮助。对不起。

【讨论】:

    【解决方案2】:

    验证您正在使用的keytool

    which keytool
    

    检查是否设置为 openjdk...Android 仅支持 Sun/Oracle Java 作为 keytool。

    【讨论】:

      猜你喜欢
      • 2016-12-18
      • 2016-03-19
      • 2015-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多