我正在两台PC上开发我的应用程序,所以很明显我在Eclipse中遇到错误“由于不同的应用程序签名而重新安装失败”,当试图在具有该应用程序副本的物理设备上进行部署时。
我的问题是:是否可以覆盖这个,这意味着部署应用程序DESPITE不同的签名?
原因是我的应用程序有一个我不想擦除的数据库,因为我正在修复与它相关的错误。有没有快速修复,不需要卸载应用程序/复制PC之间的keyrstore文件?打赌没有,但只是问。谢谢!
答案 0 :(得分:18)
不,没有办法覆盖它。 From the documentation:
当系统正在为应用程序安装更新时,它会将新版本中的证书与现有版本中的证书进行比较。如果证书完全匹配,包括证书数据和订单,则系统允许更新。
解决此问题的一种方法是尝试使用相同的密钥库在两台计算机上签署应用程序。如果您使用的是Eclipse,
现在可以在Gradle中配置您的签名密钥(将由Android Studio使用),并将您的调试密钥包含在源代码管理中。只需将密钥添加到项目文件夹中,然后将以下内容添加到build.gradle文件中:
signingConfigs {
debug {
storeFile file("../debug.keystore")
}
}
并在构建类型下添加:
buildTypes {
debug {
debuggable true
signingConfig signingConfigs.debug
}
}
有关详细信息,请参阅documentation
答案 1 :(得分:3)
我的问题是:是否可以覆盖这个,这意味着部署应用程序DESPITE不同的签名?
选项#1:卸载应用程序,然后重新安装。
选项#2:在两台计算机之间同步debug.keystore
个文件,这样您就可以在两个位置使用相同的密钥进行签名。
是否有快速修复,不需要卸载应用程序/在PC之间复制keyrstore文件?
不,抱歉。