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

Android &引用;由于应用程序签名不同,重新安装失败";-可以覆盖吗?,android,eclipse,adt,Android,Eclipse,Adt,我在两台PC上开发我的应用程序,因此当我尝试在物理设备上部署时,Eclipse中出现错误“由于不同的应用程序签名,重新安装失败”,该物理设备具有来自另一台计算机的应用程序副本 我的问题是:是否有可能覆盖这一点,即尽管签名不同,仍要部署应用程序 原因是我的应用程序有一个我不想删除的数据库,因为我正在修复一个与之相关的bug。是否有不需要卸载应用程序/在PC之间复制keyrstore文件的快速修复方案?我打赌没有,只是问问而已。谢谢 我的问题是:是否有可能覆盖这一点,即尽管签名不同,仍要部署应用程序

我在两台PC上开发我的应用程序,因此当我尝试在物理设备上部署时,Eclipse中出现错误“由于不同的应用程序签名,重新安装失败”,该物理设备具有来自另一台计算机的应用程序副本

我的问题是:是否有可能覆盖这一点,即尽管签名不同,仍要部署应用程序

原因是我的应用程序有一个我不想删除的数据库,因为我正在修复一个与之相关的bug。是否有不需要卸载应用程序/在PC之间复制keyrstore文件的快速修复方案?我打赌没有,只是问问而已。谢谢

我的问题是:是否有可能覆盖这一点,即尽管签名不同,仍要部署应用程序

选项1:卸载应用程序,然后重新安装

选项2:在两台计算机之间同步
debug.keystore
文件,以便在两个位置使用相同的密钥进行签名

是否有不需要卸载应用程序/在PC之间复制keyrstore文件的快速修复方案


不,对不起。

不,无法覆盖它:

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

解决这个问题的一种方法是尝试在两台机器上使用相同的密钥库对应用程序进行签名。如果您使用的是Eclipse

  • 转到首选项->Android->构建 您应该在那里找到“默认调试密钥库”的路径。(通常类似于/Users/username/.android/debug.keystore
  • 将此文件复制到新机器
  • 在新机器上的Eclipse内部,打开Preferences->Android->Build
  • 在“自定义调试密钥库”字段中输入文件的路径
  • 保存,然后您可以运行应用程序并使用相同的密钥对其进行签名
  • 祝你好运

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

    signingConfigs {
            debug {
                storeFile file("../debug.keystore")
            }
        }
    
    并在生成类型下添加以下内容:

    buildTypes {        
        debug {
            debuggable true
            signingConfig signingConfigs.debug
        }
    }
    

    有关更多详细信息,请参阅。

    我在确保同时复制debug.keystore和default.keystet之后,才让它工作。这对于设置是有意义的,但只是想向其他人指出这一点!当第二台机器是使用AIDE应用程序的Android设备时,知道如何使用选项#2吗?我找不到
    debug.keystore
    文件
    /data/data/com.aide.ui
    下的任意位置@Michael:我没有使用aide。他们必须在应用程序上签名,所以应该在某个地方有一个密钥库,但我不知道在哪里。抱歉!可能有重复的