我有一个 Android 应用程序,它有两种风格,免费和高级。我想创建另一种风味,flavorExt,它基于自由风味但具有一些附加功能。我已经使用 gradle 中的 sourceSets 选项完成了此操作,如下所示:
sourceSets {
freeExt {
java.srcDirs = sourceSets.free.java.srcDirs
res.srcDirs = sourceSets.free.res.srcDirs
resources.srcDirs = sourceSets.free.resources.srcDirs
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想为 freeExt 风格添加一些额外的功能,但我不知道这是否可行,如果可行,如何实现。我已将风味源文件夹创建为 app/src/freeExt/java/... 并在其中添加了必要的文件。我还在 gradle 的 sourceSets 条目中添加了以下行,但没有成功:
java.srcDirs = sourceSets.free.java.srcDirs
Run Code Online (Sandbox Code Playgroud)
我正在尝试做的事情在 gradle 中可行吗?如果是这样,怎么做?
我建议为添加的功能创建第二个风味维度。您可以在此处找到有关多种风格维度的文档。
你的 build.gradle 看起来像这样:
android {
flavorDimensions "tier", "extras"
productFlavors {
free {
dimension "tier"
...
}
full {
dimension "tier"
...
}
withExtras {
dimension "extras"
...
}
noExtras {
dimension "extras"
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
Android Gradle 插件将使用每个维度中每种风格的叉积生成变体。因此,您将得到一个freeWithExtras
, freeNoExtras
,fullWithExtras
和fullNoExtras
。您不一定需要发布所有四个变体。
归档时间: |
|
查看次数: |
570 次 |
最近记录: |