我正在创建一个具有不同产品风格的 android 项目。我的项目结构是这样的 Flavor1
风味2
主要的
其中 Flavor1 包含一个 Constants.java 文件,Flavor2 也包含一个 Constants.java 文件,但它不在 main 中。我的主包包含另一个类 Controller,它使用常量中定义的变量。当我尝试运行我的项目时,它会引发错误“无法解析符号常量”。当我按 alt+enter 时,它从选定的风味导入文件,错误消失了,但是当我切换到其他风味时,它无法识别导入,因为它来自风味 1。这是我的 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 中使用每种风格的常量文件,以便它导入或使用所选构建变体的文件?任何帮助将不胜感激。