0

我正在创建一个具有不同产品风格的 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 中使用每种风格的常量文件,以便它导入或使用所选构建变体的文件?任何帮助将不胜感激。

4

0 回答 0