2011-06-01 47 views
0

萨拉姆所有,辞去我的应用程序使用相同的密钥库失败

我创建使用Eclipse的Android 2.2的应用程序,我一直在使用,我已经创建了一个密钥库签署,然后我把它上传到市场。

我已经做了应用中的一些变化,我已经从1.0 TP 1.1改变了应用程序的版本,然后我试图签署新生成的.apk文件,但我得到了以下错误:

的jarsigner :无法登录罐子:java.util.zip.ZipException:无效输入压缩后的大小(预期525,但得到527个字节)。

当您尝试唱签署.apk文件时出现此错误,我已经产生,从Eclipse的一个无符号的apk和我的应用程序签署successfuly。

现在市场拒绝我的新签署的应用程序,我想,第一个版本是由Eclpise和我的密钥库签约,现在我不能让双方签署了新的版本。这是真实的分析吗?

我在做什么错?

回答

1

为了得到一个无符号的APK在Eclipse中,右键单击应用程序的名称在Package Explorer窗口中,选择Android的工具,然后选择“导出未签名的应用程序包...”。将包保存到新的位置。 一旦你有一个未签名的apk。运行您在未签名的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”,则表示.apk已使用Android SDK生成的调试密钥进行签名。如果您打算释放您的应用程序,则必须使用您的私钥而不是调试密钥对其进行签名。

$ 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

这个固定我的问题

相关问题