1

我有一个 Android 应用程序,比如说,三种风格。第一个叫做free。第二种味道叫做paid。而第三种味道被称为b2bClient

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

GoogleAnalyticsHelper当风味如下时,我尝试从源集中排除b2bClient

sourceSets {

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

}

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

4

1 回答 1

0

创建一个库模块,说它analytics包含GoogleAnalyticsHelper. 现在添加此analytics库仅用于风味需要analytics行为。

按照此链接仅包含特定风味的库。

于 2018-01-16T04:34:54.383 回答