使用不同的开发人员更新现有的调试应用程序

Updating existing debug app with different developers

我在更新应用程序 apk 的调试版本时遇到问题:

Installation failed with message Failed to finalize session : INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package [here our package] signatures do not match the previously installed version; ignoring

两位开发者。两台具有相同 Android Studio 版本 (3.2.1) 的 PC。但是当我尝试安装时 - 有这个,当第二个开发人员使用相同的代码(git)制作调试 apk 时,它会正常安装。 如果我制作了一个 apk - 这是通过在不同设备(测试器)上更新第二个开发人员的版本而发生的错误。

我已经尝试过的:

该设备是 Android 6.0.1 上的 Lenovo TB-X103F 平板电脑。

您需要使用相同的调试密钥库。您同事的密钥库位于:

  • Windows: C:\Users\USERNAME\.android\debug.keystore
  • Linux / Mac: ~/.android/debug.keystore

3 个解决方案按正确性降序排列如下:

  1. 从长远来看,这应该在您的项目内部配置,这样拥有该项目的任何人都可以签署调试版本。这是通过配置您的 build.gradle like so.

  2. 完成的
  3. 您还可以在 Android Studio 中设置您的签名配置,这样您以后就不会依赖于复制他的文件。 Here is how to set it.

  4. 您也可以只用您的同事替换那个位置的调试密钥库,这样您就可以使用相同的配置。

不同的密钥库文件导致此警告。求精确解;

-为每种构建类型创建您自己的密钥库文件。

-在应用级别 gradle 文件中定义 buildTypes 和 SigningConfigs 像这样:

signingConfigs {
    release {
        keyAlias '******'
        keyPassword '******'
        storeFile file('...\release.jks')
        storePassword '******'
    }

    debug {
        keyAlias 'alias'
        keyPassword '******'
        storeFile file('...\debug.jks')
        storePassword '******'
    }
}
buildTypes {
    release {
        lintOptions {
        }
        debuggable false
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release
    }

    debug {
        debuggable true
        minifyEnabled false
        signingConfig signingConfigs.debug
    }
}

注意!!!您可以将调试密钥库文件移动到项目文件夹中(app 文件夹将是一个不错的选择)。因此,两个开发人员很容易拥有相同的密钥库。