每次我在gradle check中运行时,有人可以告诉我一种避免执行“lint”的方法吗?
我在build.gradle中定义了
lintOptions {
quiet true
}
然而,它一直在做这项任务。问题是每次检查都需要很长时间。
答案 0 :(得分:69)
gradle build -x lint
答案 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
}