Android
AndroidStudio

android studio 3.0.1 で AAPT2 error が出た時の対応

こんにちは @kako_351です。

今まで問題なくビルドできていたのに、突然できなくなること稀にあると思うんですが、(ありますよね?)
今回は、タイトルのように「AAPT2 error」がでました。
解決策、検索してまわったのでまとめておきます。日本語の記事がすくなかったことも理由です。

エラーの内容はざっと以下のとおりです。

エラーログ

Warning:The [パッケージ名] property is deprecated and it has no effect on the build process.
/home/********/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.0.2.aar/*************************/res/values/values.xml 
Error:(246, 5) error: resource android:attr/fontVariationSettings not found. 
/project/bkup/14_march_2018/***/***/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml
Error:(246, 5) error: resource android:attr/ttcIndex not found.
Error:(269) resource android:attr/ttcIndex not found.
Error:(269) resource android:attr/fontVariationSettings not found. Error:java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception:
AAPT2 error: check logs for details Error:failed linking references.
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception:
AAPT2 error: check logs for details Error:com.android.tools.aapt2.Aapt2Exception:
AAPT2 error: check logs for details Error:Execution failed for task ':*****:processDebugAndroidTestResources'.

解決策

appのbuild.gradleに以下を追記で解決します。

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:27.0.2'
    }
}

「android.enableAapt2=false にする」というような、記事もありましたが、
私の環境では上記の対応でビルド成功しました。

参考

https://stackoverflow.com/questions/49208772/error-resource-androidattr-fontvariationsettings-not-found

https://stackoverflow.com/questions/46988102/errorcom-android-tools-aapt2-aapt2exception-aapt2-error-check-logs-for-detail