如何在主文件夹中导入口味的Java文件?

时间:2018-11-06 06:01:04

标签: android android-studio android-build android-build-flavors android-buildconfig

我正在创建一个具有不同产品风味的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文件? 任何帮助将不胜感激。

0 个答案:

没有答案