我已经按如下方式创建了自定义 buildTypes ,并且没有使用默认的调试和发布 buildTypes
buildTypes {
releasefree {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
releasepro {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationIdSuffix ".pro"
}
debugfree {
shrinkResources true
applicationIdSuffix ".debug"
debuggable true
}
debugpro {
shrinkResources true
applicationIdSuffix ".pro.debug"
debuggable true
}
}
这样做的原因:我有几个 productFlavors 并且需要为每个都有一个 PRO 版本,我觉得这比为每个免费的创建单独的 PRO 风味更容易。我的代码使用 BuildConfig 类中的 APPLICATION_ID 处理差异。另一个原因是我有定制的课程,如果我有两种不同的风格,则需要复制两次。我知道我可以配置源集,但是当我有太多口味时我遇到了问题。非常难以追踪。
现在的问题:当我尝试使用自定义 buildType 构建变体运行应用程序时,它要求我为每个自定义构建类型创建一个签名配置。
同样,我在执行时在运行控制台中看到一条消息:
失败 [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
由于 APK 未签名或签名不正确,安装失败。如果这是基于 Gradle 的项目,请确保在 Gradle 构建脚本中指定了签名配置。
我了解这可能是必需的。但是,我试图找出的是:是否有我可以更改的设置,以便我创建的 debugfree 和 debugpro buildTypes 可以绕过签名配置要求,就像默认调试 buildType 一样?我知道创建签名配置是一分钟的事情,如果我没有很快得到一些东西,我会这样做。但出于好奇,我想了解需要做什么才能使自定义 buildType 像默认调试 buildType 一样工作,并且不需要签名配置。
尝试设置
debuggable true
(这是默认调试 buildType 和我的自定义调试 buildType 属性的唯一区别)希望它可以像默认调试 buildType 一样工作,但没有。为了让自定义 buildType 像默认的一样工作,还需要更改什么,即不需要签名配置。