2017-08-31 26 views
1

我有这个在我的build.gradle许多问题:Android Studio中lint_baseline.xml不排除它应该

android { 
    lintOptions { 
    abortOnError false 
    absolutePaths false 
    lintConfig file('lint.xml') 
    baseline file('lint-baseline.xml') 
    } 
} 

而且我已经运行Analyze > Inspect Code之前建立这个基线。我也确认这个文件确实存在,并且填充了要忽略的问题。

但是当我运行Analyze > Inspect Code时,仍然有很多警告出现。看起来基于基线未排除的问题是那些未列入lint --list /列出的那些问题here

,包括“未使用声明”,“现场可以是本地的”等

有什么办法,以及过滤这些了呢?为什么代码检查检查lint没有列为问题的警告/错误?

回答

2

从Android Studio中检查:

棉绒可与 “基线” 被配置;代码库中发现的一组当前问题,未来的lint运行将默默忽略。仅报告基线中未发现的新问题。

请注意,在IDE中打开文件时,基线问题不会被滤除;基线的目的是允许您开始使用lint,并在所有新引入的错误上破解构建,而无需事先返回并修复整个代码库。但是,当您打开现有文件时,您仍然希望知道并解决遇到的问题。

此问题类型用于在报告中发出两种类型的信息性消息:首先,是否有任何问题被过滤掉,因此如果您忘记了签入基线文件时没有错误的安全感第二,基准文件中的任何问题是否似乎已经修复,以便您可以停止将它们过滤掉,并在问题重新引入时得到警告。

我只是想知道同样的事情。也许这将有助于解释事情。

基准功能旨在隐藏控制台中的linting错误,并使其新警告/错误将破坏构建。不幸的是,这并没有抑制Android Studio检测。

enter image description here

+0

如果我正确认识你,你是在谈论如何当我在IDE中查看文件皮棉基线将无法抑制的问题,是吗? 如果是这样,这不完全是我在说的。相反,我在执行代码检查时立即看到实际检查返回的是lint问题,在设置基线之后立即执行代码检查,而不更改代码。对我而言,这似乎击败了设定基准的全部目的。 –

+0

好吧,是的,不。基线仅影响CLI工具/ Gradle任务。在模块中运行“lint”任务。如果设置正确,它将使用基线,不会报告错误/警告,只是让您知道它正在使用基线。当我通过Gradle任务运行它时,它按预期工作,但仅适用于CLI工具,而不适用于“分析”>“检查代码”。 总之,基线不会影响IDE中的任何内容:对打开的文件进行内联检查,也不会影响“分析”>“检查代码”窗口。它可以在仅从CLI工具/ Gradle运行时抑制警告/错误 –

相关问题