この手のエラーはデバッグ用のビルドではエラーが出ず、リリース用のビルドでエラーが発生しますね…今回もリリースビルドでエラーが出てしまい、クリーンしたり、toolVersionを最新のものにしたり色々してみましたが変化しませんでした。
:app:lintVitalRelease FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:lintVitalRelease'. > Could not resolve all files for configuration ':app:lintClassPath'. > Could not find com.android.tools.lint:lint-gradle:26.1.4. Searched in the following locations: file:/C:/Android/SDK/extras/m2repository/com/android/tools/lint/lint-gradle/26.1.4/lint-gradle-26.1.4.pom file:/C:/Android/SDK/extras/m2repository/com/android/tools/lint/lint-gradle/26.1.4/lint-gradle-26.1.4.jar file:/C:/Android/SDK/extras/google/m2repository/com/android/tools/lint/lint-gradle/26.1.4/lint-gradle-26.1.4.pom file:/C:/Android/SDK/extras/google/m2repository/com/android/tools/lint/lint-gradle/26.1.4/lint-gradle-26.1.4.jar file:/C:/Android/SDK/extras/android/m2repository/com/android/tools/lint/lint-gradle/26.1.4/lint-gradle-26.1.4.pom file:/C:/Android/SDK/extras/android/m2repository/com/android/tools/lint/lint-gradle/26.1.4/lint-gradle-26.1.4.jar https://jcenter.bintray.com/com/android/tools/lint/lint-gradle/26.1.4/lint-gradle-26.1.4.pom https://jcenter.bintray.com/com/android/tools/lint/lint-gradle/26.1.4/lint-gradle-26.1.4.jar Required by: project :app * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 14s 17 actionable tasks: 1 executed, 16 up-to-date
メッセージ中の「lint-gradle:26.1.4」という部分がtoolVersionを変更しても変化しないというのが気になったのですが、正直八方塞がりになってしましました。
こんな時に一番役立つのはやはりAPI Levelを設定したうえで新規プロジェクトを作成して比較するということ。バグではない限り大概これで足りない記述や変更された記述を転記してやれば正常にコンパイルできるようになります。
確認したところ、プロジェクトレベルのbuild.gradle内に
allprojects {赤い文字の部分が追加されていました。
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
今までエラーが出ていたプロジェクトに追記したところエラーが出なくなりました。
直接のビルドエラーの原因はgradleのバージョンアップでリポジトリを強制追加しない感じになったのでしょうかね。