繁体   English   中英

为什么我的签名apk无法安装?

[英]Why will my signed apk not install?

我已经开发了一段时间的应用程序,并使用Run As- > * Android Application *通过Eclipse在真实设备上运行 现在,我试图将其首次分发给某些Beta版用户。 我使用Eclipse通过通过向导生成的新密钥库来创建签名的应用程序。 这似乎工作正常,当我与Jarsign核对时,我收到消息“ Jar已验证”,尽管也有一些警告。 它们是“此Jar包含未验证证书链的条目”和“此Jar包含不包含时间戳的签名”。

然后,我将生成的apk复制到设备上并打开它。 但是收到消息“未安装此应用程序”。 在日志目录中,我可以看到: “包裹在输入时没有证书;请忽略!”

我发现有人建议回到JDK 6(以前确实有7),但这并没有帮助。 一些人建议这可能是由于清单中的重复活动,所以我彻底检查了清单。

我发现,如果我将apk重命名,以使其不再与软件包的最后部分完全相同的名称,它将突然起作用。

因此,如果软件包是com.mydomain.myapp,而apk是myapp.apk,我会收到错误消息,但是如果是myapp_debug.apk,则安装就可以了。

我觉得这很令人困惑,而且令人担忧。 我想最终发布该应用程序,但不确定是否做错了什么。

根据您的重命名使其能正常工作的描述,您已经在设备上安装了具有相同程序包名称的应用程序,但是使用了不同的证书(可能是用于Eclipse启动安装的调试证书)进行了签名。

您必须简单地删除现有安装,然后再安装发行版本。 您可以从“设置”菜单或使用以下格式的ADB命令来执行此操作

adb uninstall your.package.name

请注意,此删除操作将清除应用程序存储的私人数据-这就是您必须执行此操作的部分原因,以防止冒名顶替者(自然拥有不同的证书)轻易获取真实应用程序留下的数据。

还请记住,以这种方式向他人分发应用程序时,他们将需要在其设置菜单中允许未知/非市场来源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM