Android签署冲突



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

未安装的应用程序:已经安装了带有冲突签名的现有包装。

我提到我已经为每个应用程序创建了一个单独的密钥库文件,将其导出,如Android官方签名申请指南中,然后将其导出。

因此,操作系统认为它是一个应用程序?但是实际上有2个不同的应用程序。我在做什么错?

我认为您正在使用相同的软件包,这对于两个不同的应用程序不允许。

但是对于在先前安装的应用程序之上安装另一个版本的任何错误的人:

我想在问题发生时测试我的应用程序的版本。我已经使用Eclipse安装了该应用程序,并且我想安装同一应用程序,但具有释放的签名。我什至已经使用应用程序画廊卸载了该应用程序,但是问题仍然存在。

我的解决方案是使用设置 -> apps->" the app" ->右上角菜单 -> 卸载所有用户

我有相同的错误消息,但是这些答案无济于事。在4.3 Nexus 7上,我正在使用不是所有者的用户。我已经卸载了旧版本,但我一直收到相同的消息。

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

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

所说,如 anand tiwari 在他的评论中,已经简化了答案,您不能在一个设备上安装两个具有相同包装名称的不同的应用程序。从逻辑上讲,它们可能与您不同,但是对于操作系统,它们实际上是相同的。

当您尝试将应用程序上传到Android市场(Google Play)时,问题也会显现出来。Google Play将根本不接受第二个应用程序。这里有一个简短而简单的解释: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

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

我认为您的问题是您的两个文件都有相同的软件包名称。您可以将两个应用程序都具有相似的软件包命名,但它们不能相同。实际上,可以使用相同的软件包库来在应用程序之间进行通信。app1:com.mypkg.app1和app2:com.mypkg.app2。但是,它们俩都不能称为com.mypkg.app-软件包名称是Android识别应用程序的方式,并且不能相同。

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

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

祝你好运。

最新更新