4

我有一个 Android 项目,它分为三个不同的应用程序,app-1app-2app-3它们应用了一些自定义。目前有很多代码重复,使维护成为一场噩梦:在一个分支中进行更改,然后合并另外两个。

因此,我们创建了一个名为 的库项目,app-core它排除了大部分重复代码。到目前为止,一切都很好。

当我将它启动到已经加载了应用程序的模拟器中时(在重构之前),我得到了这个异常:

Re-installation failed due to different application signatures

不同的签名?但我只是在.classpathto 链接到app-coreJava 项目中添加了一行!

主要问题是:现有用户是否也会为此烦恼?

还有一个附带问题:为什么它是不同的签名?

4

4 回答 4

12

数字签名由存在于对应用程序进行签名的机器上的签名密钥驱动。如果开发人员 A 使用标准调试密钥编译应用程序并将其安装在模拟器中,然后尝试安装应用程序的其他一些变体——一个使用生产密钥签名,一个使用开发人员 B 的调试密钥签名,等等。同样的模拟器,你会得到那个错误。

主要问题是:现有用户是否也会为此烦恼?

您是否拥有用于现有用户正在使用的应用程序版本的生产签名密钥?如果是,那么应该没有问题。如果没有,你就完蛋了。

于 2010-03-16T23:38:12.400 回答
1

卸载设备上的应用程序,然后再次运行代码,它将工作。它发生在我身上,我尝试了同样的事情,现在它工作正常。

于 2011-08-01T11:30:35.527 回答
0

对于这个问题,你需要检查在(Window->Preferences->Android->build)下使用了正确的键。这你可以从应用程序的 android.mk 文件中检查。并在放置正确的密钥路径时,CLEAN 和 BUILD 项目以避免此错误。

于 2013-07-26T08:31:38.087 回答
0

我遇到过类似的问题。如果您将它安装在您的设备上,那么您需要先在您的设备上卸载该应用程序,然后才能从 Eclipse 安装它。它肯定会解决你的问题。

干杯

于 2013-09-27T18:57:18.073 回答