2017-08-31 77 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運行時抑制警告/錯誤 –

相關問題