Android 口味:每个口味有多个 java 和 src 目录

Android Flavors : Multiple java and src directories for each flavor

任何人都可以向我解释如何在我的每种口味中使用更多的主目录和特定口味的 java/src 目录吗?我的目标是让目录被不止一种风味使用,但不是全部。

例如我有 3 种口味:A1、A2 和 B。

这可能吗?如果是这样,我应该在 build.gradle 文件中放入什么?

作为奖励问题,我可以选择 gradle 在我的不同目录中查找文件的顺序吗?

例如,如果我在 A/src 和 A1/src 中都声明了 a.png,我可以告诉 gradle 先在 A/src 中查找这个文件吗, 只有在没有找到的情况下才在 A1/src ?

中查找

如描述的那样here

As mentioned above, each sourceSet can define multiple resource folders.

您可以定义多个资源文件夹。例如这样的事情:

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