Gradle, 如何在风格构建 APK 中排除特定类.



我有一个 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文件夹所在的路径中创建与你的口味同名的新文件夹。

将两个类复制到您的风格,并通过更改构建变体来使用它。

最新更新