aswww log

Webエンジニアの技術録。Linuxとかウェブ制作・ソフト開発とか

半年ぶりにAndroidアプリをビルドしようとしたらbuild.gradleでエラー

2018年4月にAndroidアプリ周りで色々と仕様変更があり、ビルドがすんなり通らず苦戦したログ。

○gradle 3.0.0以上になって各書式が変わった
これはAndroidStudio3.0以上にアップデートした影響かもしれないけど、gradleを3.0.0以上にする必要が出てきてそれにともなって書式が変わった。具体的には以下の記事にあるとおり。自分の作ったアプリで関係あったのがapp配下のbuild.gradleにて"compile"と書いていたところを"implementation"に置換した。

Android Plugin for Gradle 3.0.0 への移行  |  Android Developers


○サポートライブラリが参照しているライブラリのバージョンの不整合によるエラー
以下のとおり、googlePlay公開における規約変更に伴い、targetSDKを現在の最新にする必要があった。
Google、Androidアプリに新バージョンAPIへの対応を義務づけ - CIOニュース:CIO Magazine

tartgetSDKを変更するとなるとサポートライブラリのヴァージョンも合わせて変更する必要がある。今回はtargetSDKを27に変更したのでサポートライブラリ郡もすべてそれに合わせて変更した。すると以下のライブラリだけエラー。
```
implementation 'com.android.support:appcompat-v7:27.1.1'
```

記載方法に間違いはないはずで、プロジェクトクリーンアップ、再起動、何をしても赤波線が消えなかったので根気よくググったら以下の記事を発見した。サポートライブラリの中で読んでいるサポートライブラリがバージョン違い(sdk26)になっていたらしく、サポートライブラリ内でエラーになっていたらしい。

kondotoru.hatenablog.com

上記事記載どおりにサポートライブラリ内で呼ばれているサポートライブラリを別行で指定してあげたらなんとかビルドがとおった・