使用相同的密钥库重新启动我的应用程序失败

时间:2011-06-01 08:42:06

标签: eclipse signed

萨拉姆,

我使用Eclipse为Android 2.2创建了一个应用程序,我使用我创建的密钥库进行了签名,然后将其上传到Market。

我已对应用程序进行了一些更改,我已将应用程序版本从1.0 tp 1.1更改,然后我尝试签署新生成的.apk文件,但我遇到以下错误:

jarsigner:无法签名jar:java.util.zip.ZipException:无效的条目压缩大小(预期525但得到527字节)。

当您尝试唱一个已签名的.apk文件时,会发生此错误,我已经从Eclipse生成了一个未签名的.apk,并且我的应用已成功签名。

现在市场拒绝我的新签名应用程序,我想第一个版本是由Eclpise和我的密钥库签署的,现在我不能有两个签署的新版本。这是真正的分析吗?

我做错了什么?

1 个答案:

答案 0 :(得分:1)

要在Eclipse中获取未签名的apk,请在Package Explorer窗口中右键单击应用程序名称,然后选择Android Tools,然后选择“Export Unsigned Application Package ...”。将包保存到新位置。     一旦你有一个未签名的apk。运行您在unsigned apk文件上使用的jarsigner命令。

    $ jarsigner -verbose -keystore my-release-key.keystore my_application.apk alias_name    
    $ jarsigner -verify my_signed.apk    
    $ jarsigner -verify -verbose -certs my_application.apk      

注意:如果您看到“CN = Android Debug”,则表示使用Android SDK生成的调试密钥对.apk进行了签名。如果您打算发布应用程序,则必须使用私钥而不是调试密钥对其进行签名。

    $ zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk    
    $ zipalign -c -v <alignment> existing.apk     

来源:     http://forum.xda-developers.com/showthread.php?t=492822     http://developer.android.com/guide/developing/tools/zipalign.html

这解决了我的问题