Android 个签名相同但包不同的应用

Android apps with same signature but different packages

我有 android 个不同版本的应用程序:

  1. com.my.application.dev
  2. com.my.application.test
  3. com.my.application.release

但它们是用相同的签名签名的。 当我尝试在设备上同时安装几个版本时,出现错误 "package with this name already exist"。 可以吗? 这是正确的行为吗?

你可以用applicationIdSuffix也就是:

Application id suffix. It is appended to the "base" application id when calculating the final application id for a variant.

例如:

android {
    ...
    defaultConfig {...}
    buildTypes {
        debug{...}
        release{...}
    }

    flavorDimensions "version"
    productFlavors {
        demo {
            dimension "version"
            applicationIdSuffix ".demo"
        }
        full {
            dimension "version"
            applicationIdSuffix ".full"
        }
    }
}

我找到了这个问题的原因。 内容提供者有问题,构建有不同的包,但试图添加同名的内容提供者