目前我的 gradle 构建有两种风格:googleplay
和 amazon
。
我正在使用 multidex gradle 解决方案,亚马逊需要将以下任务添加到 gradle 构建中以保存方法并应用他们的 DRM:
android{
....
}
afterEvaluate {
tasks.matching {
it.name.startsWith('dex')
}.each { dx ->
if (dx.additionalParameters == null) {
dx.additionalParameters = []
}
dx.additionalParameters += "--set-max-idx-number=55000"
}
}
如何让该代码仅适用于亚马逊口味?
谢谢
最佳答案
查看终端输出我发现通常标准的android任务名称由三部分组成:
任务前缀
+flavor name
+build type
例如:dexGoogleDebug
、installGoogleDebug
、assembleAmazonRelease
很明显的解决方案就是将 it.name.startsWith('dex')
行更改为
def name = it.name.toLowerCase()
name.startsWith('dex') && name.contains('amazon')
关于android - 在单一风格的 Gradle 中修改任务(afterEvaluate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29253676/