avoid lint when gradle execute check

做~自己de王妃 提交于 2019-11-30 01:28:43
gradle build -x lint 

Source: Gradle User Guide : Excluding Tasks

rciovati

You can skip it using adding -x lint when you run the check task:

./gradlew check -x lint 

If you want to skip it permanently you can add this to your build.gradle before apply plugin: 'com.android.application':

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

I just disabled the task during project setup:

android {
    lintOptions {
        tasks.lint.enabled = false
    }
}

Note: it's not necessary to put the statement inside android.lintOptions, but since it's configuring lint, it's nice to have them together.

Set checkReleaseBuilds to false will disable lint check on release build. Add following scripts to your build.gradle file:

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
}

(Gradle 1.1.0, as packaged with Android Studio 1.1.0)

For anyone wondering how to do this with multiple subprojects, I ended up having to disable them using the root project build.gradle file like so:

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

If you happen to have different build variants, perhaps a more robust script solution would be

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

use this code to disable all lint tasks using Gradle's new configuration avoidance API:

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

(tested on Android Gradle plugin 3.3.2.)

If you still want the lint task to work you can also:

project.tasks.check.dependsOn.remove("lint")
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!