如何将 Java 文件保留为两种风格,并在我的应用中为其他风格排除该文件



我有一个Android应用程序,比如说,有三种口味。第一个叫做 free .第二种口味叫做paid。第三种口味叫做b2bClient

freepro需要一个库(让它成为Google Analytics),并且为了避免代码重复,帮助程序类GoogleAnalyticsHelper围绕对Google Analytics的调用位于主源代码集中。但是b2bClient不使用库。为了减小 b2bClient APK 的大小,我没有将该库包含在 Gradle 中的依赖项中。当我运行assembleB2bClient时,它会导致编译错误,这很明显(构建系统只是没有来自com.google.android.gms.analytics的类。

当口味b2bClient时,我尝试从源集中排除GoogleAnalyticsHelper,如下所示:

sourceSets {
    main {
        android.productFlavors.all { flavor ->
            if (flavor.name == "b2bClient") {
                java.exclude("**/GoogleAnalyticsHelper.java")
            }
        }
    }
}

那也没用。同样的错误。是否可以从特定风格的主源集中排除类?

创建一个库模块,比如analytics包含GoogleAnalyticsHelper的代码。现在添加此analytics库仅用于需要analytics行为的风格。

点击此链接以仅包含特定风格的库。

相关内容

最新更新