我有一个Android项目,分为三个不同的应用程序,app-1
,app-2
和app-3
,它们适用于一些自定义项。目前存在大量代码重复,使维护成为一场噩梦:在其中一个分支中进行更改,然后合并其他两个分支。
因此,我们创建了一个名为app-core
的库项目,该项目将大部分重复的代码排除在外。到目前为止一切都很好。
当我将其启动到已经加载应用程序的模拟器中时(在重构之前),我得到了这个例外:
Re-installation failed due to different application signatures
不同的签名?但我只是在.classpath
中添加了一行来链接到app-core
Java项目!
主要问题是:现有用户是否也会受到这种困扰?
旁边的问题:为什么它是一个不同的签名?
答案 0 :(得分:12)
数字签名由签署应用程序的计算机上存在的签名密钥驱动。如果开发人员A使用标准调试密钥编译应用程序并将其安装在模拟器中,则尝试安装应用程序的其他变体 - 一个使用生产密钥签名,一个使用开发人员B的调试密钥签名,等等 - 同样的模拟器,你会得到那个错误。
主要问题是:现有的 用户会为此感到困扰 太?
您是否拥有用于现有用户正在使用的应用版本的生产签名密钥?如果是,那么应该没有问题。如果不是,你就搞砸了。
答案 1 :(得分:1)
在设备上卸载应用程序,然后再次运行代码,它将起作用。它发生在我身上,我尝试了同样的事情,现在它正常工作。
答案 2 :(得分:0)
对于此问题,您需要检查(Window-> Preferences-> Android-> build)下是否使用了正确的密钥。 你可以从应用程序的android.mk文件中查看。 在放置正确的密钥路径时,清理并构建项目以避免此错误。
答案 3 :(得分:0)
我遇到过类似的问题。如果您要在设备上安装它,那么在从eclipse安装之前,您需要在设备上卸载该应用程序。它肯定会解决你的问题。
干杯