Android签名冲突

时间:2012-11-06 12:59:43

标签: android conflict keystore signing

我正在开发2个Android应用程序,它们是我服务器的客户端。我无法在我的Android手机上安装这两个应用程序。我将第一个应用程序安装到手机上,一切正常。然后,当我尝试在手机上安装第二个应用程序时,我收到应用程序将替换另一个应用程序(第一个)的消息,然后我收到以下错误:

  

未安装应用程序:已安装具有相同签名冲突的现有包。

我提到我为每个应用程序创建了一个单独的密钥库文件,在android官方签名应用程序指南中导出它们,然后将它们压缩。

所以OS认为它是一个单一的应用程序?但实际上有2个不同的应用程序。 我做错了什么?

4 个答案:

答案 0 :(得分:7)

我认为你使用的是同一个软件包,不允许用于两个不同的应用程序。

但对于在以前安装的应用程序之上安装其他版本时出现相同错误的任何人:

我想在发生问题时测试我应用的发布版本。我以前使用eclipse安装了应用程序,而不是我想安装相同的应用程序,但已发布签名。我甚至使用应用程序库卸载了应用程序,但问题仍然存在。

我的解决方案是使用“设置” - >“应用” - >“应用” - >右上角菜单 - > 为所有用户卸载

取消应用

答案 1 :(得分:2)

我有相同的错误消息,但这些答案没有帮助。在4.3 nexus 7上,我使用的是不是所有者的用户。我已经卸载了旧版本,但我仍然收到相同的消息。

解决方案:我必须以所有者身份登录并转到设置 - >应用程序...向下滚动到列出旧版本的列表末尾,标记为“未安装”。选择它并按右上角的“设置”按钮,最后“卸载所有用户”

答案 2 :(得分:1)

不确定使用相同的签名密钥会发生什么,因为老实说,我从未真正尝试过。

话虽如此,正如 Anand Tiwari 在他的评论中已经简化了答案,您无法在一台设备上安装两个具有相同软件包名称的不同应用程序。从逻辑上讲,它们可能与您不同,但对于操作系统,它们实际上是相同的。

当您尝试将应用程序上传到Android电子市场(Google Play)时,问题也会出现。 Google Play根本不接受第二个应用程序。 Warren Faith在这里有一个简短而简单的解释:https://stackoverflow.com/a/5788664/450534

举例说明如何将类似的应用程序发布到Google Play商店:

  1. FriendCaster的免费版本为:https://play.google.com/store/apps/details?id=uk.co.senab.blueNotifyFree

  2. 如果相同的应用是付费版本:https://play.google.com/store/apps/details?id=uk.co.senab.blueNotify

  3. 注意包名称的结尾。在这种情况下,您将能够在一台设备上同时安装这两个应用程序。

答案 3 :(得分:1)

我认为你的问题是你的文件都有相同的包名。您可以使用类似的软件包为两个应用程序命名,但它们不能相同。事实上,使用相同的包基可用于在应用程序之间进行通信,即。 App1:com.mypkg.app1和App2:com.mypkg.app2。但是,它们都不能被称为com.mypkg.app - 包名称是Android识别应用程序的方式,并且不能完全相同。

您应该能够使用相同的密钥签署尽可能多的不同应用程序(假设其包装不同)。

请确保不要丢失签名证书,如果丢失,您将无法上传具有相同包名称的新应用。如果您丢失了签名证书,您将遇到大麻烦。

祝你好运。