我有一个 3 种 Android 口味的项目
1 类我需要在两个风格中,但另一个不应该实现它。
这是一种仅针对一种风格排除此 java 类的方法,还是我必须以两种其他风格移动该类并以这种方式获取冗余代码?
如果你有一些不想被编译的源代码,那么你必须为源代码声明一个过滤器,而不是为类文件声明一个过滤器。
因此,您的 gradle 配置将如下所示:
SetOfSources {
main {
java {
include 'com/macao/somePackage/activityAdapter/**'
include 'com/macao/someOtherPackage/**'
exclude 'com/macao/someOtherPackage/pollingAdapter/**'
exclude 'com/macao/someOtherPackage/matchingAdapter/**'
}
}
}
有一种不变的味道,叫做主味。如果您检查项目文件结构,您会注意到src
文件夹中有一个main
文件夹。这个main
文件夹代表您的主要风格,您的大部分共享代码应该在那里。因为每种口味都在与main
融合。
然后在main
文件夹所在的路径中创建与你的口味同名的新文件夹。
将两个类复制到您的风格,并通过更改构建变体来使用它。