PC パソコン

Android Studio「Gradle sync failed」の原因と解決方法

Android Studioでプロジェクトを開いたときや、依存関係・Gradle設定を変更したときに、
「Gradle sync failed」
というエラーが表示されることがあります。

このエラーは、Android StudioとGradleの設定同期が正常に完了しなかったことを示しています。
原因は1つではなく、GradleやAndroid Gradle Pluginのバージョン不一致、
JDKの設定、依存関係の取得失敗、リポジトリ設定、ネットワーク、設定ファイルの記述ミスなど、
さまざまな問題によって発生します。

この記事では、Android Studioで「Gradle sync failed」と表示される主な原因と解決方法を解説します。

「Gradle sync failed」とは

「Gradle sync failed」は、Android StudioがGradleプロジェクトの設定を読み込み、
プロジェクト構成や依存関係などを同期しようとしたものの、
何らかのエラーによって同期処理が完了しなかったことを示します。

Gradle Syncでは、主に次のような情報が確認されます。

  • Gradleのバージョン
  • Android Gradle Pluginのバージョン
  • 使用するJDK
  • プロジェクトやモジュールの設定
  • 依存関係
  • リポジトリ設定
  • SDKやビルド設定

これらのいずれかに問題があると、Gradle Syncが失敗する場合があります。

主な原因

Android Studioで「Gradle sync failed」が発生する主な原因には、次のようなものがあります。

  • Gradleのバージョンが合っていない
  • Android Gradle Pluginのバージョンが合っていない
  • GradleとAndroid Gradle Pluginの組み合わせに問題がある
  • JDKのバージョンが合っていない
  • 依存関係の取得に失敗している
  • 存在しないライブラリやバージョンを指定している
  • リポジトリ設定に問題がある
  • インターネット接続に問題がある
  • GradleのOffline modeが有効になっている
  • プロキシやVPNに問題がある
  • Gradle設定ファイルの記述に誤りがある
  • Gradleキャッシュに問題がある
  • Android SDKの設定に問題がある

ポイント:
「Gradle sync failed」はエラー全体を示すメッセージであり、
それ自体から原因を特定することはできません。
必ずBuildウィンドウなどに表示されている詳細なエラーメッセージを確認します。

詳細なエラーメッセージを確認する

まず、Android StudioのBuildウィンドウやGradle Syncの結果に表示されているエラーを最後まで確認します。

「Gradle sync failed」の前後には、原因を示す別のエラーが表示されていることがあります。

Gradle sync failed

Could not resolve all files for configuration ':app:debugRuntimeClasspath'.

この場合は、Gradle Syncそのものではなく、
依存関係の取得や解決に失敗していることが原因と判断できます。

また、次のようなエラーが表示される場合もあります。

Unsupported class file major version

Minimum supported Gradle version is ...

Could not find ...

Could not GET ...

表示されている詳細なエラーによって、確認すべき場所が変わります。

Gradleのバージョンを確認する

プロジェクトで使用しているGradleのバージョンが、
Android Gradle Pluginなどに対応していない場合は同期に失敗することがあります。

Gradle Wrapperを使用している場合は、
gradle/wrapper/gradle-wrapper.properties
を確認します。

distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip

この
distributionUrl
に記載されているGradleのバージョンを確認します。

Android Gradle Pluginのバージョンを確認する

Android Gradle Pluginのバージョンが、
使用しているGradleのバージョンに対応していない場合もGradle Syncに失敗します。

プロジェクトによっては、次のようにプラグインのバージョンが設定されています。

plugins {
    id("com.android.application") version "8.5.0" apply false
}

GradleとAndroid Gradle Pluginには対応関係があるため、
どちらか一方だけを更新すると同期できなくなる場合があります。

使用しているAndroid Gradle Pluginに対応したGradleバージョンになっているか確認します。

JDKのバージョンを確認する

GradleはJava上で動作するため、使用しているJDKのバージョンが合っていない場合も同期に失敗します。

Android Studioでは、Gradleが使用するJDKを設定できます。

プロジェクトやAndroid Gradle Pluginが要求しているJDKのバージョンと、
Android Studioで選択されているGradle JDKが合っているか確認します。

JDKの不一致では、次のようなエラーが表示されることがあります。

Unsupported class file major version

依存関係の取得エラーを確認する

Gradle Syncでは、プロジェクトで使用するライブラリやプラグインの依存関係を取得します。

その取得に失敗すると、Gradle Sync全体が失敗する場合があります。

例えば、次のようなエラーが表示されることがあります。

Could not resolve all files for configuration

Could not resolve ...

Could not find ...

Could not GET ...

この場合は、依存関係、ライブラリのバージョン、リポジトリ設定、
ネットワークなどを確認します。

ライブラリ名やバージョンを確認する

存在しないライブラリ名やバージョンを指定している場合、
Gradleは依存関係を取得できず、同期に失敗します。

implementation("com.example:library:9.9.9")

ライブラリ名やバージョンに誤りがないか、
使用しているライブラリの公式ドキュメントなどで確認します。

repositoriesの設定を確認する

ライブラリやプラグインが公開されているリポジトリが設定されていない場合、
Gradleは必要な依存関係を取得できません。

Androidプロジェクトでは、一般的に次のようなリポジトリが使用されます。

repositories {
    google()
    mavenCentral()
}

現在のGradleプロジェクトでは、
settings.gradle
または
settings.gradle.kts

dependencyResolutionManagement
内に設定されている場合があります。

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)

    repositories {
        google()
        mavenCentral()
    }
}

使用しているライブラリによっては、追加のMaven Repositoryが必要になる場合があります。

プラグイン用のリポジトリを確認する

Gradleプラグインの取得に失敗している場合は、
通常の依存関係とは別にプラグイン用のリポジトリ設定を確認します。

pluginManagement {
    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}

プラグインIDやバージョンに誤りがないかも確認します。

インターネット接続を確認する

Gradle Syncでは、必要な依存関係をインターネット上のリポジトリから取得することがあります。

インターネットに接続できていない場合や、接続が不安定な場合は、
Gradle Syncに失敗することがあります。

ブラウザなどでインターネット接続を確認し、
Wi-Fiなどが不安定な場合は接続し直します。

GradleのOffline modeを確認する

GradleのOffline modeが有効になっていると、
基本的にはローカルに保存されているキャッシュだけを使用して依存関係を解決します。

必要なライブラリやプラグインがまだダウンロードされていない場合は、
Offline modeでは取得できず、Gradle Syncに失敗する場合があります。

Android StudioのGradle設定を確認し、
Offline modeが有効になっている場合は無効にしてから再度Gradle Syncを実行します。

プロキシ設定を確認する

会社や学校などのネットワークでは、
外部インターネットへ接続するためにプロキシが必要な場合があります。

Android StudioやGradleのプロキシ設定が正しくないと、
リポジトリへアクセスできず同期に失敗することがあります。

Android Studioのプロキシ設定と、
gradle.properties
に設定されているプロキシ情報を確認します。

VPNやファイアウォールを確認する

VPN、ファイアウォール、セキュリティソフトなどによって、
GradleやJavaからの外部通信が制限されている場合があります。

ブラウザではインターネットへ接続できても、
Gradleだけが外部リポジトリへ接続できない場合があります。

別のネットワーク環境では正常に同期できる場合は、
現在使用しているネットワーク環境やセキュリティ設定が原因である可能性があります。

build.gradleやsettings.gradleの記述を確認する

Gradle設定ファイルに構文エラーや記述ミスがある場合も、
Gradle Syncは正常に完了しません。

主に次のファイルを確認します。

  • build.gradle
  • build.gradle.kts
  • settings.gradle
  • settings.gradle.kts
  • gradle.properties
  • libs.versions.toml

エラーに行番号が表示されている場合は、
その位置付近の記述を確認します。

Groovy DSLとKotlin DSLの違いを確認する

Gradle設定ファイルでは、Groovy DSLとKotlin DSLで記述方法が異なる場合があります。

Kotlin DSLでは、例えば次のように記述します。

dependencies {
    implementation("com.example:library:1.0.0")
}

Groovy DSLでは、次のように記述される場合があります。

dependencies {
    implementation 'com.example:library:1.0.0'
}

Web上のサンプルコードをコピーした場合は、
自分のプロジェクトで使用しているDSLと一致しているか確認します。

Version Catalogを確認する

Gradle Version Catalogを使用している場合は、
libs.versions.toml
の設定に誤りがあると同期に失敗することがあります。

[versions]
example = "1.0.0"

[libraries]
example-library = { module = "com.example:library", version.ref = "example" }

ライブラリ名、module、version、
version.ref
などに誤りがないか確認します。

Android SDKの設定を確認する

プロジェクトが必要としているAndroid SDKがインストールされていない場合や、
SDKの設定に問題がある場合もGradle Syncやビルドに失敗することがあります。

Android StudioのSDK Managerを確認し、
プロジェクトで必要なSDK PlatformやBuild Toolsなどがインストールされているか確認します。

compileSdkなどの設定を確認する

プロジェクトの
compileSdk
などで指定しているSDKがインストールされていない場合は、
エラーが発生することがあります。

android {
    compileSdk = 35
}

指定しているSDKバージョンがAndroid Studioにインストールされているか確認します。

Gradle Syncを再実行する

一時的な通信エラーやGradle側の処理失敗の場合は、
Gradle Syncを再実行することで解決することがあります。

Android Studioから
Sync Project with Gradle Files
などを実行します。

設定ファイルを修正した場合も、修正後にGradle Syncを再実行します。

依存関係を再取得する

Gradleのキャッシュや依存関係の取得状態に問題がある場合は、
依存関係を再取得すると改善することがあります。

プロジェクトのTerminalから、次のように実行します。

./gradlew build --refresh-dependencies

Windowsでは、環境によって次のように実行します。

gradlew.bat build --refresh-dependencies

これにより、依存関係の取得が再試行されます。

Clean Projectを実行する

ビルド途中で生成されたファイルに問題がある場合は、
Clean Projectによって改善することがあります。

Android StudioのBuildメニューなどから
Clean Project
を実行し、その後必要に応じてGradle SyncやRebuild Projectを実行します。

Gradleキャッシュを確認する

Gradleのキャッシュに破損や不整合がある場合、
正常に依存関係を読み込めず同期に失敗することがあります。

まずは
--refresh-dependencies
などで依存関係の再取得を試します。

キャッシュの手動削除を行う場合は、
必要なファイルが再ダウンロードされることを理解したうえで実行します。

Android Studioを再起動する

Android Studio側の一時的な状態によって同期が正常に進まない場合は、
Android Studioを再起動することで改善することがあります。

設定を変更しても状態が変わらない場合は、
一度Android Studioを終了し、再度プロジェクトを開いてGradle Syncを実行します。

古いプロジェクトを開いた場合

古いAndroid Studioで作成されたプロジェクトを新しいAndroid Studioで開いた場合、
Gradle、Android Gradle Plugin、JDK、リポジトリ、依存関係などが現在の環境と合わず、
Gradle Syncに失敗することがあります。

特に長期間更新されていないプロジェクトでは、
Gradleだけを一度に最新版へ変更するのではなく、
Android Gradle PluginやJDKとの対応関係を確認しながら更新します。

エラー別の確認ポイント

「Gradle sync failed」と一緒に表示されているエラーによって、
確認すべき場所をある程度絞り込むことができます。

表示されるエラー 主な確認ポイント
Could not resolve all files for configuration 依存関係、リポジトリ、ネットワーク
Could not resolve 依存関係、バージョン、リポジトリ
Could not find ライブラリ名、バージョン、リポジトリ
Could not GET ネットワーク、プロキシ、SSL、リポジトリ
Unsupported class file major version JDK、Gradle、Android Gradle Plugin
Minimum supported Gradle version Gradleのバージョン
Plugin not found プラグインID、バージョン、pluginManagement
SDK location not found Android SDK、local.properties

解決しない場合の確認手順

原因が分からない場合は、次の順番で確認すると問題を切り分けやすくなります。

  1. 「Gradle sync failed」と一緒に表示されている詳細なエラーを確認する
  2. エラーが依存関係、Gradle、JDK、SDKのどれに関係しているか確認する
  3. Gradleのバージョンを確認する
  4. Android Gradle Pluginのバージョンを確認する
  5. Gradle JDKを確認する
  6. ライブラリ名やバージョンを確認する
  7. repositoriesの設定を確認する
  8. pluginManagementの設定を確認する
  9. インターネット接続とOffline modeを確認する
  10. プロキシ、VPN、ファイアウォールを確認する
  11. build.gradlesettings.gradleなどの記述を確認する
  12. Version Catalogを使用している場合はlibs.versions.tomlを確認する
  13. Android SDKとcompileSdkなどの設定を確認する
  14. Gradle Syncを再実行する
  15. --refresh-dependenciesで依存関係を再取得する
  16. 必要に応じてClean ProjectやAndroid Studioの再起動を試す

重要:
「Gradle sync failed」は原因そのものではなく、
Gradle Syncが失敗した結果を示すメッセージです。
まずは同時に表示されている詳細なエラーを確認し、
その内容に応じてGradle、JDK、依存関係、リポジトリ、ネットワークなどを確認することが重要です。

まとめ

Android Studioの
「Gradle sync failed」
は、Gradleプロジェクトの設定同期が正常に完了しなかった場合に表示されるエラーです。

GradleやAndroid Gradle Pluginのバージョン、
JDK、依存関係、リポジトリ、ネットワーク、Gradle設定ファイル、
Android SDKなど、さまざまな原因によって発生する可能性があります。

まずは「Gradle sync failed」という表示だけで判断せず、
Buildウィンドウなどに表示されている詳細なエラーメッセージを確認します。
そのうえで、Gradle・Android Gradle Plugin・JDKの組み合わせ、
依存関係、リポジトリ、ネットワーク、設定ファイルの順に確認すると、
原因を効率よく絞り込むことができます。