如何跳过特定的gradle任务

时间:2017-09-27 13:25:59

标签: android gradle android-gradle build.gradle

我想跳过Android gradle build的任务之一,所以我尝试了像

这样的东西
project.tasks.getByName("transformNativeLibsWithStripDebugSymbolForDebug").onlyIf {
    println("Skipping")
    return false
}

但是,找不到任务,即使我可以在执行的任务中看到它... 知道如何才能完成这项任务?我想它应该依赖于项目中的一个任务。

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

修改

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

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

1 个答案:

答案 0 :(得分:3)

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

android {...}

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

dependencies {...}

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

  

...跳过

     

:app:transformNativeLibsWithStripDebugSymbolForDebug SKIPPED

当您使用 assembleDebug 任务(或Shift +)时,不要忘记执行 transformNativeLibsWithStripDebugSymbolForDebug 任务Android Studio中的F10组合。)