【问题标题】:How to skip a specific gradle task如何跳过特定的 gradle 任务
【发布时间】:2017-10-01 14:36:45
【问题描述】:

我想跳过 Android gradle build 的一项任务,所以我尝试了类似

project.tasks.getByName("transformNativeLibsWithStripDebugSymbolForDebug").onlyIf {
    println("Skipping")
    return false
}

但是,任务没有找到,即使我可以在执行的任务中看到它...... 知道如何完成这项任务吗?我想这应该取决于项目中的一项任务。

上下文 - 我有一个共享库,我想使用它的未剥离版本,但是 gradle 无论如何都会剥离它...

编辑

经过一番挖掘,这些任务似乎是作为二进制插件的一部分添加的(gradle 文件顶部的apply plugin: 'com.android.library' 行)。

这个转换任务是使用transform API添加的,它似乎没有办法取消注册/修改现有的转换...

【问题讨论】:

    标签: android gradle android-gradle-plugin build.gradle


    【解决方案1】:

    这是动态生成的任务。尝试添加下一个:

    android {...}
    
    afterEvaluate { project ->
        project.tasks.transformNativeLibsWithStripDebugSymbolForDebug {
           onlyIf  {
               println 'Skipping...'
               return false
           }
        }
    }
    
    dependencies {...}
    

    在 Gradle 控制台中,您应该会看到:

    跳过...

    :app:transformNativeLibsWithStripDebugSymbolForDebug 跳过

    不要忘记 transformNativeLibsWithStripDebugSymbolForDebug 任务仅在您使用 assembleDebug 任务(或 Shift+ Android Studio 中的 F10 组合)。

    【讨论】:

      猜你喜欢
      • 2020-05-02
      • 2018-01-09
      • 2019-09-27
      • 1970-01-01
      • 1970-01-01
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      • 2013-10-26
      相关资源
      最近更新 更多