gradle,如何在flavor build apk中排除特定类

时间:2016-05-22 18:29:13

标签: java android gradle build

我有一个Android版的3种风格的项目

我需要两个类,但另一个不应该实现它。

是否可以只为一种风格排除这个java类,或者我是否必须以其他方式移动该类并以这种方式获取冗余代码?

2 个答案:

答案 0 :(得分:1)

如果您有一些不想编译的源,那么您必须为源声明一个过滤器,而不是为类文件声明。

所以你的gradle配置如下所示:

SetOfSources {
    main {
        java {
            include 'com/macao/somePackage/activityAdapter/**'
            include 'com/macao/someOtherPackage/**'
            exclude 'com/macao/someOtherPackage/pollingAdapter/**'
            exclude 'com/macao/someOtherPackage/matchingAdapter/**'
        }
    }
}

答案 1 :(得分:0)

当然,有一种叫做main的不可调味道。如果检查项目文件结构,您会注意到src文件夹中有一个主文件夹。这个主要代表你的主要风格,你的大部分共享代码应该在那里。因为每种口味都与主要品牌合并。

然后在主文件夹存在的路径中创建与您的风格具有相同名称的新文件夹。

将两个类复制到您的口味中,并通过更改构建变体来准备使用。如果你卡住了,请随时发表评论。

祝你好运。