Gradleバージョン不一致エラーの解決方法
問題の原因
Android StudioでGradleタスクを実行しようとすると、以下のエラーが発生します:
Could not resolve com.android.tools.build:gradle:8.0.1
No matching variant of com.android.tools.build:gradle:8.0.1 was found
エラーの根本原因は次の通りです:
Javaバージョンの不一致
Gradle 8.0.1はJava 11以上を必要としますが、現在の環境がJava 8を使用していますGradleプラグインの互換性問題
エラーメッセージに明確に示されている通り:Incompatible because this component declares an API of a component compatible with Java 11 and the consumer needed a runtime of a component compatible with Java 8
GradleとJDKのバージョン不整合
プロジェクトで使用しているGradleのバージョンと、設定されているJDKのバージョンが適合していません
効果的な解決方法
✅ 解決策1: JDK 17にアップグレード(推奨)
Android Studio内での変更方法:
ファイル
→設定
(macOSではPreferences
)を開くビルド、実行、デプロイメント
→ビルドツール
→Gradle
を選択Gradle JDK
を JDK 17 に変更OK
をクリックして同期
重要
プロジェクトで使用しているGradleバージョンが8.0以降の場合、JDK 17が必須です。JDK 8では動作しません。
✅ 解決策2: Gradleバージョンのアップデート
gradle-wrapper.properties
ファイルを編集します:
# 最新のGradleバージョンに更新
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
有効なバージョン組合せ:
- AGP 8.0.x → Gradle 8.1+ 推奨
- AGP 8.2.x → Gradle 8.2+ 推奨
✅ 解決策3: コマンドラインでのJDK設定
Linux/macOSの場合:
# JDK 17のパスを設定
export JAVA_HOME=/path/to/jdk-17
# 代替設定(任意)
sudo update-alternatives --config java
Windows(管理者権限で実行):
# 一時的な設定
set JAVA_HOME="C:\path\to\jdk-17"
# 永続的な設定
setx JAVA_HOME "C:\path\to\jdk-17" /M
✅ 解決策4: Gradleキャッシュのクリア
問題が解決しない場合、Gradleキャッシュを完全に削除します:
# macOS/Linux
rm -rf ~/.gradle/caches
# Windows
rmdir /s /q %USERPROFILE%\.gradle\caches
注意
キャッシュ削除後、次回ビルド時に全ての依存関係が再ダウンロードされるため、時間がかかります
追加の注意点
🔥 Javaバージョン設定に関する警告
以下の方法は非推奨で、他の問題を引き起こす可能性があります:
android {
// 削除しないでください!
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
この設定を削除すると、別の互換性問題が発生する可能性があります。代わりにJDKバージョンを適切に設定してください。
バージョン対応表
Android Gradle Plugin | 必須Gradleバージョン | 必須JDKバージョン |
---|---|---|
8.0+ | 8.1+ | 17+ |
7.4.x | 7.5+ | 11+ |
7.3.x | 7.4+ | 11+ |
トラブルシューティング
まだ問題が解決しない場合、以下のステップを確認してください:
gradle-wrapper.properties
とbuild.gradle
のバージョンに矛盾がないか再確認ファイル
→プロジェクト構造
でプロジェクト全体のJDK設定を確認- Android Studioを最新バージョンにアップデート
- プロジェクトを
Clean
→Rebuild
これらの解決策により、JavaバージョンとGradleの互換性問題が解消され、正常にビルドが実行できるようになります。