我有一个 Android 项目,它分为三个不同的应用程序,app-1
、app-2
和 app-3
,它们适用一些定制。目前有很多代码重复,使维护成为一场噩梦:在一个分支中进行更改,然后合并另外两个。
因此我们创建了一个名为 app-core
的库项目,用于提取大部分重复代码。到目前为止一切顺利。
当我将其启动到已加载应用程序的模拟器(重构之前)时,出现此异常:
由于应用程序签名不同,重新安装失败
不同的签名?但是我只是在 .classpath
中添加了一行以链接到 app-core
Java 项目!
主要问题是:现有用户是否也会为此烦恼?
附带的问题:为什么它是不同的签名?
最佳答案
数字签名由签名应用程序的机器上存在的签名 key 驱动。如果开发人员 A 使用标准调试 key 编译应用程序并将其安装在模拟器中,然后尝试安装该应用程序的其他变体——一个使用生产 key 签名,一个使用开发人员 B 的调试 key 签名,等等——在同一个模拟器,你会得到那个错误。
The main question is: are the existing users going to be bothered by this too?
您是否拥有用于现有用户正在使用的应用程序版本的生产签名 key ?如果是,那么应该没有问题。如果不是,那你就完蛋了。
关于android - 为什么类路径更改后 Android 中的应用程序签名会更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2458931/