一些(但不是全部)用户接收"包文件没有正确&QUOT签署;从下载谷歌播放我的应用程序时, [英] Some (but not all) users receive "Package file was not signed correctly" when downloading my app from Google Play

查看:144
本文介绍了一些(但不是全部)用户接收"包文件没有正确&QUOT签署;从下载谷歌播放我的应用程序时,的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经提交并发表在谷歌Play商店的应用程序。当我上传我的二进制文件我没有收到任何错误。现在,我收到从报告中的部分的(不是全部)的客户指出,他们正在安装我们的应用程序时,得到以下错误:

I have submitted and published an app in the Google Play store. I did not receive any errors when I uploaded my binary. Now, I am receiving reports from some (not all) customers stating that they are getting the following error when installing our App:

包文件没有正确地签署

当我试图复制这个错误我自己(使用的Nexus 7重置为出厂设置),然而,一切顺利。

When I try to replicate this error myself (using a Nexus 7 reset to factory settings), however, everything goes smoothly.

这似乎是类似于这个问题描述的问题,但是的accepted回答似乎并没有在这种情况下适用。

This seems to be similar to the issue described in this question, but the accepted answer doesn't seem to apply in this case.

我的有无的看到建议使用JDK 6,而不是JDK 7,但答案如这一个使我相信,这个解决方案是其中的密钥库是在Java中的旧版本创建的情况。此外,我关注的是如何辞职的新版本使用Java的旧版本会影响到我们的客户谁的没有的有问题的初始安装。

I have seen suggestions to use JDK 6 instead of JDK 7, but answers like this one lead me to believe that this solution is for situations where the keystore was created in an older version of Java. In addition, I am concerned about how resigning a new version with an older version of Java will affect our customers who haven't had problems with the initial installation.

  1. 是否有意义的JDK用于负签署应用程序的版本只影响的部分的客户?如果是的话,可能会确定哪些因素设备出现的问题?
  2. 会改变的如何的我签署二进制文件(而不是证书)对我们更新了谁目前尚未有此问题
  3. 用户应用程序的能力产生任何负面影响
  4. 如果Java版本我用来签署APK不是问题,还有什么可能会导致这样的错误?
  1. Does it make sense that the version of JDK used for signing the app negatively affects only some customers? If it does, what factors might determine which devices the issue occurs on?
  2. Would changing how I sign the binary (but not the certificate) have any negative impact on our ability to update the app for users who aren't currently having this issue
  3. If the Java version I used to sign the APK isn't the issue, what else could cause an error like this?

编辑: 所有用户的这个问题(或没有它)的,正在运行的是Android 4.0或更高版本。该应用程序不支持早期版本的Andr​​oid系统。

All of the user's with this problem (or without it), are running Android 4.0 or later. The app does not support earlier versions of Android.

推荐答案

一点点读围绕我要带刺后,需要显式地指定算法的JDK7的jarsigner ..

After a little reading around I'm going to take a stab, you need to specify the algorithm explicitly for the JDK7 jarsigner..

添加到您的项目的build.xml文件:

Add this to your project's build.xml file:

<presetdef name="signjar">
    <signjar sigalg="MD5withRSA" digestalg="SHA1" />
</presetdef>

在一个多一点的阅读看来,它是关于设备的消化所使用的默认算法,它似乎从设备而异与普通算法适用于所有的被上面的XML中指定的设备。这就是为什么它不能在某些设备上,其他用户都经历过同样的事情,例如:<一href="http://stackoverflow.com/questions/20930202/package-not-signed-correctly-appearing-for-some-users"标题=包没有签署正确出现对某些用户>包不正确签名出现了一些用户

After a bit more reading it appears that it is about the default algorithm used on the device for the digest, it does appear to vary from device to device with the common algorithm available on all devices being the one specified in the xml above. This is why it fails on some devices, other users have experienced the same thing eg: "Package not signed correctly" appearing for some users

本博客文章中还包含对APK签署一些有趣的信息:的 Android的code签署

This blog entry also contains some interesting information on apk signing: Android code signing

我现在很有信心,明确设置指定的Andr​​oid算法进行签名不会影响已经安装了你的客户,我希望它能够解决您的问题,为其他客户。

I am now quite confident that explicitly setting the android specified algorithm for signing will not affect your customers that have already installed and I expect it will resolve your problem for the other customers.

这篇关于一些(但不是全部)用户接收&QUOT;包文件没有正确&QUOT签署;从下载谷歌播放我的应用程序时,的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆