"由于应用程序签名不同,重新安装失败" - 可以覆盖?

Tom*_*ala 8 eclipse android adt

我正在两台PC上开发我的应用程序,所以很明显我在Eclipse中遇到错误"由于不同的应用程序签名而重新安装失败",当试图在具有来自另一台机器的应用程序副本的物理设备上进行部署时.

我的问题是:是否可以覆盖这个,这意味着部署应用程序DESPITE不同的签名?

原因是我的应用程序有一个我不想擦除的数据库,因为我正在修复与它相关的错误.有没有快速修复,不需要卸载应用程序/复制PC之间的keyrstore文件?打赌没有,但只是问.谢谢!

cod*_*ser 18

不,没有办法覆盖它.从文档:

当系统正在为应用程序安装更新时,它会将新版本中的证书与现有版本中的证书进行比较.如果证书完全匹配,包括证书数据和订单,则系统允许更新.

解决此问题的一种方法是尝试使用相同的密钥库在两台计算机上签署应用程序.如果您使用的是Eclipse,

  1. 转到首选项 - > Android - > Build There您应该找到'Default debug keystore'的路径.(通常类似于/Users/username/.android/debug.keystore.
  2. 将此文件复制到新计算机.
  3. 在新机器上的Eclipse内部,打开Preferences - > Android - > Build
  4. 在"自定义调试密钥库"字段中输入文件的路径
  5. 保存,然后您可以运行您的应用程序并使用相同的密钥签名.

祝好运

更新:

现在可以在Gradle中配置您的签名密钥(将由Android Studio使用),并将您的调试密钥包含在源代码管理中.只需将密钥添加到项目文件夹,然后将以下内容添加到build.gradle文件中:

signingConfigs {
        debug {
            storeFile file("../debug.keystore")
        }
    }
Run Code Online (Sandbox Code Playgroud)

并在构建类型下添加:

buildTypes {        
    debug {
        debuggable true
        signingConfig signingConfigs.debug
    }
}
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅文档