公式のドキュメントっぽいところに書いてあるコマンドがなくて、gradleのサブコマンド?を実行すればよかった。
上のページにはlint
コマンドがあるかのような記述になっているが、パスが通っていない。
sdktoolを入れて実行してもgradlewを叩けと怒られる。その通りgradlewで実行すればよかった。
ターミナルから実行する
プロジェクトルート(gradlew
ファイルがある場所)に移動してgradlew
を実行する。
./gradlew app:lint
おそらくapp
の部分はプロジェクトによって変更が必要。生成されたhtmlに結果が出力される。
lintのエラーや警告が発生していると、コマンドの実行エラーのように表示され、結果が分かりにくいが、
エラー文の少し上に、htmlとxmlに出力したと記載されていた。(そのせいでlintの実行に失敗していると思い込んでbuild.gradle
を書き換えたりした)
Wrote HTML report to file:///path/to/app/build/outputs/lint-results-debug.html Wrote XML report to file:///path/to/app/build/outputs/lint-results-debug.xml
このへんは上記ページのオプションで出力フォーマットを変更できる。
Android Studioから実行する
メニューから Analyze -> Inspect Code... を選択すると実行できる。このときにlint対象を選択できるが、"未コミットの物のみ"という選択肢があるのが便利。
たぶんgradlew
用にも指定できるだろうけどまだ探していない。
こちらは結果がツリー表示されるし、それぞれの問題の解決手段や物によっては解決するコマンド実行まで表示されるので便利。
Gitのpush hookに使うときでもなければメニューから実行するかショートカットキーを割り当てればいいんじゃないかな。あとスクロールバーの色がlint結果なのでそこを見ればよい。
気が向けばスクリーンショットを追加するかも。