在Android Gradle中禁用“lint”

33

根据Android Tools项目网站的Android Gradle插件用户指南,我了解到可以使用以下方法防止Android的lint中止构建:

lintOptions {
    abortOnError false
}

我也知道可以在发布版本中禁用lint:

lintOptions {
    checkReleaseBuilds false
}

然而,当运行如gradle assembleDebug时,完全禁用lint是否可能?

我知道其中的风险,并且针对这个特定项目,考虑到我们拥有的所有构建变体,这会浪费相当多的时间。


2
很希望能够完全关闭它。这在 Gradle 中给我带来了巨大的问题。 - PlunkettBoy
1
请查看以下链接以获取解决方案:https://dev59.com/XmEi5IYBdhLWcg3wldFu#21148409。 - aha
4
Lint工具运行缓慢,占用大量CPU资源,并且鼓励Android编程风格,这与合理的编程方式相矛盾。因此保留Lint工具没有意义。 - Martin Vysny
@MartinVysny 我正在打印您的话,以便将它们挂在办公室的墙上... 上帝保佑你。 - Dimas Crocco
3个回答

24

你可以通过在gradle.properties文件中添加此行来完成这个任务:

gradle=build -x lint -x lintVitalRelease

注意: 上面的行会阻止调试和发布版本的lint运行!

如果你想了解更多gradle技巧、快速构建和性能提升,这将是你所要查看的最好幻灯片:掌握Gradle 3.0

我从许多不同的资源中准备了这个幻灯片,包括Android开发者和Gradle文档、Android开发者视频等等——希望它有所帮助!它确实在构建时间(增量以及项目加载时间)方面有很大的区别。


在lint任务中仍然遇到“模块使用了与Kotlin不兼容的版本进行编译。其元数据的二进制版本为1.8.0,预期版本为1.4.0。”的错误。 - undefined

20
在 build.gradle(app) 文件中添加以下代码行。
android {
    lintOptions {
        checkReleaseBuilds false
        //If you want to continue even if errors found use following line
        abortOnError false
    }
}

我正在寻找特定于口味的禁用lint。感谢您的指引。 - Arun
我希望完全关闭它,因为它会产生“元数据的二进制版本为1.9.0,预期版本为1.4.0”的错误。 - undefined

1

我曾经有类似的问题,尝试了以下所有选项:

  • quiet true
  • abortOnError false
  • checkReleaseBuilds false

但最终我发现清除和使缓存失效是解决问题的好方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接