Android Flavors:每种风味的多个java和src目录
任何人都可以向我解释我如何使用我的每种口味更多,然后只是主要和味道特定的java / src目录? 我的目标是让目录由多种口味使用但不是全部。
例如,我有3种口味:A1,A2和B.
- 所有的好处都使用main / src(默认的主src目录)
- A1使用A1 / src(默认的flavor src目录)
- A2使用A2 / src(默认flavor src目录)
- B使用B / src(默认的flavor src目录)
- A1和A2使用A / src(“特殊”共享目录)
这可能吗 ? 如果是这样,我应该在build.gradle文件中添加什么?
作为一个额外的问题,我可以选择gradle在哪个顺序寻找不同目录中的文件?
例如,如果我在A / src和A1 / src中都声明了a.png,我是否可以告诉gradle首先在A / src中查找此文件,并且只有在找不到任何内容时才在A1 / src中查找它?
如此处所述
如上所述,每个sourceSet都可以定义多个资源文件夹。
您可以定义多个资源文件夹。 例如这样的事情:
android { ... sourceSets { main { //.... res.srcDirs = ['/src/main/res'] } flavorA1 { res.srcDirs = ['/src/flavor1/res', '/src/commonA/res'] } flavorA2 { res.srcDirs = ['/src/flavor2/res', '/src/commonA/res'] } //.....other flavors } }
我发现设置java源文件需要稍微不同的格式
sourceSets { favorA1 { java { srcDirs('src/favorA1/java/src', 'src/commonA/java/src') } } favorA2 { java { srcDirs('src/favorA2/java/src', 'src/commonA/java/src') } } }
Gradle Java
Gradle Source Api