如果前一个和当前的 apk 是由 2 台不同的机器创建的,是否可以更新调试 apk

Can a debug apk be updated if the previous and the current apk are created by 2 different machines

一位开发人员在他的机器上创建了 1.0 版本的调试 apk。另一位开发人员在他的机器上创建了 1.1 版本的调试 apk。 两者都使用相同的 android 设备来测试应用程序。 如果安装了1.0版本。可以在同一台设备上更新到 1.1 吗?现在,我们收到错误,应用安装失败。日志显示此错误:失败 [INSTALL_FAILED_UPDATE_INCOMPATIBLE:包签名与以前安装的版本不匹配;忽略!

我们尝试在一台机器上创建两个版本,并且更新在 android 设备上运行

是的,可以更新。机器无所谓。重要的是 KeyStore 从创建版本 1.0 的机器上复制密钥库,然后将其复制到另一台机器上。就是这样。

现在您可以更新您的应用程序了。

如何找到Keystore?

看看这个thread

您可以为调试版本创建密钥库,并使用它在不同的机器上制作 APK 文件。

  1. 使用别名 android 创建新的密钥库 debug.keystore。密钥库的密码和别名都应为 android

  2. 在应用程序模块的 build.gradle 中(或它在您的项目中的调用方式),定义签名配置,因此 IDE 将知道如何签署调试版本.

  3. 在所有开发人员的机器上使用相同的 debug.keystore 文件。

例子:

    android {

        signingConfigs {
            debug {
                storeFile PATH_TO_THE_DEBUG_KEYSTORE
                storePassword "android"
                keyAlias "android"
                keyPassword "android"
            }
            ...
        }
        ...
    }

P.S. 事实上,debug.keystore、别名和密码的名称可能与建议值不同。就是简单好记。