1

我有一个包含大约 30 种产品口味的项目。其中一些产品风格需要共享代码,而不是与大多数产品风格共享。我可以将代码分配给风味组吗?

4

1 回答 1

0

1) 您知道如何为特定产品风味创建文件夹吗?您可以创建一个文件夹,其中包含将用于特定风味组合的源或资源。https://developer.android.com/studio/build/build-variants.html#sourcesets

例如,我们有风味:一个维度中的“beta”、“prod”和另一个维度中的“newApi”、“oldApi”。我们对所有风味组合使用一个类实现,除非它是带有新 api 的 beta 版本。所以我们找到了 gradle 如何命名这个 buidle 变体(betaNewApi),创建文件夹 project/app/src/betaNewApi 并将我们的类放在那里,为包保存项目结构。结果,需要这个特定类的类通常只在这种口味组合中采用一个或这个特定的。

我们的例子

2)如果您不需要共享整个类而只需要共享一小部分代码,则可以使用运行时检查来进行风味检查:

if (BuildConfig.FLAVOR_releaseType.equals("prod")) 
    && BuildConfig.FLAVOR_apiLvl.equals("newApi")) {
        // here is your shared code
}

我们将像“prod”这样的常量提取到我们的应用程序类中,并以这种方式使用它们。

于 2016-11-11T08:01:07.170 回答