android - 在单一风格的 Gradle 中修改任务(afterEvaluate)

标签 android amazon-web-services gradle

目前我的 gradle 构建有两种风格:googleplayamazon

我正在使用 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
例如:dexGoogleDebuginstallGoogleDebugassembleAmazonRelease

很明显的解决方案就是将 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/

相关文章:

android - Robolectric 单元测试没有响应

java - Android AsyncTask使用打开FileOutputStream

Android SDL2 App黑屏然后退出

angular - 如何获取和更新用户属性 AWS amplify angular 6

python - 破损管道错误导致 AWS 上的流式 Elastic MapReduce 作业失败

amazon-web-services - 在dynamodb aws中搜索列表数据类型

android - 无法创建新的 AVD。没有足够新的 Android SDK 可用

android - Gradle:找不到 DSL 方法:minSdkVersion/targetSdkVersion/compileSdkVersion/buildToolsVersion

android - 字体已在Android Gradle构建中以不兼容的格式定义

gradle - 在配置阶段更改和更改变量