我有一个包含多个库模块的项目。我想在一个模块中创建独特的风格,但我遇到了一个奇怪的错误,我无法解决。
在我的模块的gradle文件中,我有以下内容:
android {
defaultConfig {
testApplicationId "com.mytestApplication"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
flav1 {
buildConfigField 'String', 'PROJECT', '"Flav1"'
}
flav2{
buildConfigField 'String', 'PROJECT', '"Flav2"'
}
}
}
但我一直收到错误:
Error:Cannot add task ':myaccessorModule:jarRelease' as a task with that name already exists.
如果我的build.gradle文件是这样编写的:
android {
defaultConfig {
testApplicationId "com.mytestApplication"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
flav1 {
buildConfigField 'String', 'PROJECT', '"Flav1"'
}
}
}
然后它实际上会在Build Variant窗口中显示flav1Debug和flav1Release选项。
我想知道为什么尝试使用两种或更多口味时会失败?我没有在任何其他模块中定义任何口味。我见过的所有文档都让这看起来很简单。我也尝试通过项目结构GUI将这些风格添加到我的模块中,但我得到了相同的结果。如何让这个模块有多种口味?
干杯。
答案 0 :(得分:0)
通常,产品风味用于创建具有相同代码的多个apk版本。
因此每种口味都应该有唯一的applicationId
。
尝试使用
productFlavors {
flav1 {
applicationId "com.mytestApplication.flav1"
}
flav2{
applicationId "com.mytestApplication.flav2"
}
}
有关详细信息,请https://developer.android.com/studio/build/build-variants.html