スポンサーリンク

Lint infrastructure errorについて

スポンサーリンク

そもそもLintとは?

Android Studioに搭載されているCode Inspectionツール.deprecationや新versionの有無など,できれば修正したほうがいいコードをhtmlあるいはxml形式で報告してくれます.

lint チェックによるコードの改善  |  Android Studio  |  Android Developers
lint を使用してコードを実行し、コードに構造的な問題がないことを確認します。

よく書かれている対策

android {
    lintOptions {
        abortOnError false
        checkReleaseBuilds false
    }
}

上記を追加することで,releaseビルドを作製するときと,lint中にエラーが出た場合でもビルドを続行することができます

自分の現象

そもそもAndroid Studioで設定されているMake ProjectのTaskは:app:assembeleDebugでこの場合はいくら実施してもLint Errorは出ないと思います.

app:buildのTaskでbuildを行うときにエラーが発生しました.それも一回目は必ず成功しますが,二回目から必ず失敗します.なんで???

一応回復手段としては,ProjectをCleanしてからAndroid StudioをRestartすれば,もう一度buildすることはできますが,これも2回目から失敗します.

2回目の失敗したときから,build/reports/lint-results.xmlが空になってしまうんですよね.StackTraceからどうもhtmlファイル作成するところが怪しい感じはするのですが,詳しいところは分かりませんでした.

対策 baselineを利用する

    lintOptions {
        abortOnError false
        checkReleaseBuilds false
//        quiet true
        baseline file("lint-baseline.xml")
    }

正直正しい対策なのかは分かりませんが,baselineを作製することで何度でもapp:buildできるようになりました.

一度目はbaselineの作成のために失敗しますので,もう一度実行してください.

タイトルとURLをコピーしました