2017-08-31 6 views
1

は私が私のbuild.gradleでこれを持っている必要があることを多くの問題を排除するものではありません。私はまた、このファイルが実際に存在していることを確認し、無視する問題を取り込んでいます。アンドロイドスタジオlint_baseline.xmlは、それが

しかし、Analyze > Inspect Codeを実行すると、多くの警告が表示されます。ベースラインに基づいて除外されない問題は、lint --list/hereと記載されていない問題であるようです。

彼らは「未使用の宣言」を含め、「フィールドは局所的であり得るが」など

、同様にこれらをフィルタリングする方法はありますか?コード検査でlintが問題としてリストアップしていない警告/エラーがチェックされるのはなぜですか?

答えて

2

のAndroid Studioの検査から:

リントは、 "ベースライン" を設定することができます。将来のlintの実行が暗黙のうちに無視する、コードベースで見つかった一連の現在の問題。ベースラインにない新しい問題のみが報告されます。

IDEでファイルを開くとき、ベースラインの問題は除外されません。ベースラインの目的は、あなたがlintを使い始めることができるようにして、新たに導入されたすべてのエラーのビルドを中断させ、前に戻ってコードベース全体を修正する必要がないようにすることです。ただし、既存のファイルを開くときには、問題が発生したときに問題を認識して修正する必要があります。

この問題タイプは、レポートに2種類の情報メッセージを出力するために使用されます。まず、ベースラインファイルをチェックインしたことを忘れた場合に、 2番目は、ベースラインファイルの問題が修正されたように見えるので、フィルタリングをやめ、問題が再導入された場合に警告を受けることができます。

私は同じことを考えていました。たぶんそれは物事を説明するのに役立ちます。

ベースライン機能は、コンソールの糸くずれエラーを隠し、の新しい警告/エラーがビルドを壊すことを意図しています。残念ながら、これはAndroid Studioの検査を抑制しません。

enter image description here

+0

私が正しくあなたを理解していた場合は、はい、私はIDEでファイルを表示する際に糸くずのベースラインが問題を抑制しませんどのように話をしていますか? これが当てはまる場合、これは私が言っていることではありません。むしろ、コードの変更を行わずにベースラインを設定した直後にコード検査を実行すると、実際の検査結果がリントの問題で表示されています。私には、これはベースラインを設定する目的を全滅させるようです。 –

+0

はい、いいえ。ベースラインはCLIツール/ Gradleタスクにのみ影響します。あなたのモジュールで "lint"タスクを実行します。正しく設定されている場合は、ベースラインを使用し、ベースラインを使用していることを通知するだけでエラー/警告が報告されることはありません。 Gradleタスクを介して実行すると、期待どおりに動作しますが、CLIツールでのみ動作し、「分析>検査コード」では動作しません。 要約すると、ベースラインはIDE内の何にも影響を及ぼしません。つまり、開いているファイルのインラインインスペクションや、[Analyze]→[Inspect Code]ウィンドウです。CLIツール/ Gradleからの実行時に警告/エラーを抑制することができます –