我正在创建一个具有不同产品风味的android项目。我的项目结构是这样的 Flavor1
Flavor2
主要
其中Flavor1包含Constants.java文件,而Flavor2也包含Constants.java文件,但不在main中。我的主程序包包含另一个类Controller,该类使用在Constants中定义的变量。当我尝试运行我的项目时,它将引发错误“ 无法解析符号常量”。 当我按alt + enter时,它会从选定的风味中导入文件,并且错误消失了,但是当我切换到其他风味时,它不能识别导入,因为它来自flavour1。 这是我build.gradle文件中的代码,用于定义产品口味和来源集。
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
applicationIdSuffix ".debug"
}
}
productFlavors {
Flavor1{
applicationId = "app.com.Flavor1
}
Flavor2{
applicationId = "app.com.Flavor2
}
}
sourceSets {
main{
java {
srcDirs('src/Flavor1/java/src', 'src/Flavor2/java/src','src/main/java/src')
}
res {
srcDirs('src/Flavor1/res/src', 'src/Flavor2/res/src','src/main/res/src')
}
}
Flavor1{
java {
srcDirs('src/Flavor1/java/src', 'src/main/java/src')
}
res {
srcDirs('src/Flavor1/res/src', 'src/main/res/src')
}
}
Flavor2{
java {
srcDirs('src/Flavor2/java/src', 'src/main/java/src')
}
res {
srcDirs('src/Flavor2/res/src', 'src/main/res/src')
}
}
}
我希望每种口味都有自己的常量文件。如何做到这一点?如何在main中使用每种口味的Constants文件,以便它导入或使用选定的Build Variant文件? 任何帮助将不胜感激。