android - 如何跳过特定的gradle任务

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

我想跳过Android gradle构建的任务之一,所以我尝试了类似的方法

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

但是,即使我可以在执行的任务中看到它,也找不到该任务...
知道如何获得此任务吗?我猜它应该取决于项目中的任务之一。

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

编辑

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

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

最佳答案

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

android {...}

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

dependencies {...}
在Gradle控制台中,您应该看到:

Skipping...

:app:transformNativeLibsWithStripDebugSymbolForDebug SKIPPED


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

关于android - 如何跳过特定的gradle任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46449106/

相关文章:

android-studio - Android Studio 委托(delegate)BuildRunToGradle 有什么作用?

android - 火力地堡不工作?

android - 为什么使用 fragment ,以及何时使用 fragment 而不是 Activity ?

android - 更改布局以使用 ImageView 或 2 个 ImageView

android - 保留部分在生成时被删除

android - 在横向模式下支持不同的屏幕尺寸

java - 添加依赖关系导致找不到主类

android - 在哪里存储 gradle 依赖版本

Android Gradle 1.0 Computing Version code in multi-flavor setup

android-ndk - 使用Android NDK编译依赖于其他 native 库运行的 native 库?