当gradle执行检查时避免lint

时间:2014-01-15 16:57:03

标签: android gradle lint

每次我在gradle check中运行时,有人可以告诉我一种避免执行“lint”的方法吗?

我在build.gradle中定义了

lintOptions { 

    quiet true 

}

然而,它一直在做这项任务。问题是每次检查都需要很长时间。

8 个答案:

答案 0 :(得分:69)

gradle build -x lint 

来源:Gradle User Guide : Excluding Tasks

答案 1 :(得分:32)

您可以在运行-x lint任务时添加check来跳过它:

./gradlew check -x lint 

如果您想永久地跳过它,可以在build.gradle之前将其添加到apply plugin: 'com.android.application'

tasks.whenTaskAdded { task ->
    if (task.name.equals("lint")) {
        task.enabled = false
    }
}

答案 2 :(得分:7)

checkReleaseBuilds设置为false将禁用发布版本的lint检查。将以下脚本添加到build.gradle文件中:

lintOptions {
     /**
     * Set whether lint should check for fatal errors during release builds. Default is true.
     * If issues with severity "fatal" are found, the release build is aborted.
     */
    checkReleaseBuilds false
}

答案 3 :(得分:4)

(Gradle 1.1.0,与Android Studio 1.1.0一起打包)

对于想知道如何使用多个子项目执行此操作的人,我最终必须使用根项目build.gradle文件禁用它们,如下所示:

task lintCheck() {
    getAllTasks(true).each {
        def lintTasks = it.value.findAll { it.name.contains("lint") }
        lintTasks.each {
            it.enabled = false
        }
    }
}

答案 4 :(得分:0)

如果您碰巧有不同的构建变体,那么可能会有更强大的脚本解决方案

afterEvaluate {
  Set<Task> result = tasks.findAll { task -> task.name.startsWith('lintVital') }
  result.each { Task task ->
    task.enabled = false
  }
}

答案 5 :(得分:0)

使用此代码通过Gradle的新配置避免API禁用所有皮棉任务:

tasks.withType(com.android.build.gradle.tasks.LintBaseTask).configureEach {
    enabled = false
}

(在Android Gradle插件3.3.2上测试)

答案 6 :(得分:0)

如果您仍然希望皮棉任务能够工作,还可以:

project.tasks.check.dependsOn.remove("lint")

答案 7 :(得分:-2)

build.gradle修改为

lintOptions { 
    abortonError false 
}