Skip to content

Android Gradleプラグインが見つからない問題の解決法

問題の説明

最新のAndroid Studioで新規プロジェクトを作成した際、次のエラーが発生してビルドできない問題が発生します:

log
Plugin [id: 'com.android.application', version: '8.0.2', apply: false] not found in any sources

このエラーは、Gradleがcom.android.applicationプラグインを正しくダウンロードできなかった場合や、プロジェクト設定に問題がある場合に発生します。新規プロジェクトで頻発する問題で、ソリューションは複数の要因に対処する必要があります。

主な原因

このエラーの背景には以下のような要因が考えられます:

  • Gradleとプラグインのバージョン不整合
  • ネットワーク接続の問題(プロキシ/VPN)
  • 不正な設定ファイル
  • JDKバージョンの不一致
  • オフラインモードの有効化

解決方法

1. Gradleとプラグインの互換性確認

GradleプラグインバージョンとGradle本体の互換性は非常に重要です。公式互換表で適切なバージョンを選択してください。

  1. Android公式マトリックスを参照:
    Android GradleプラグインとGradleの互換性

  2. gradle-wrapper.propertiesでGradleバージョンを修正:

properties
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
  1. プロジェクトのbuild.gradleでプラグインバージョンを調整:
kotlin
plugins {
    id("com.android.application") version "8.2.0" apply false
}

バージョン指定の注意

バージョン番号は正確に指定する必要があります(例: 8.2ではなく8.2.0)。マイナーバージョンの欠落がエラーの原因になるケースが多いです。

2. プロキシ設定の見直し

プロキシ環境下では、Gradleの接続問題が発生する場合があります。以下のいずれかの方法で対処します。

プロキシ設定の削除 (gradle.properties):

properties
# systemProp.http.proxyHost=your-host
# systemProp.http.proxyPort=8080

またはSocksプロキシの明示的指定:

properties
systemProp.socksProxyHost=127.0.0.1
systemProp.socksProxyPort=2080

3. 設定ファイルの修正

settings.gradleの構成が最新形式に対応しているか確認します。

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

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}

rootProject.name = "YourProject"
include(":app")

よくある設定ミス

プロジェクトに複数のsettings.gradleファイルがある場合、不要なファイルは削除し、ルートの設定ファイルにモジュール情報のみ含めること。例えば、モジュールインクルードは単一ファイルで管理します:

kotlin
include(":app", ":mylibrary")

4. JDKバージョンの調整

JavaバージョンとGradleの互換性に注意します。

  1. Android Studio > File > Project Structure
  2. 「JDK Version」で以下のいずれかを選択:
    • JDK 17 (Gradle 8.0+推奨)
    • JDK 20(最新版の場合)
  3. Gradle syncを実行

5. オフラインモードの無効化

誤ってオフラインモードが有効になっていないか確認します:

  1. Android Studio > File > Settings
  2. Build, Execution, Deployment > Gradle
  3. 「Offline work」のチェックを外す

6. キャッシュクリアと依存関係更新

根本的な解決にはキャッシュクリアが有効です:

bash
# Gradleキャッシュの完全削除(プロジェクトディレクトリで実行)
rm -rf ~/.gradle/caches
./gradlew build --refresh-dependencies

地域別ネットワーク制限の対処法

特定の国(例:イラン)ではGoogleサービスへのアクセスが制限される場合があります:

  1. DNSサービス切替え(ローカルで有効なサービスを利用)
  2. 信頼できるVPNの使用
  3. 以下のコマンドで直接アクセス可能かテスト:
bash
# プラグインがアクセス可能か確認
curl https://dl.google.com/dl/android/maven2/com/android/application/com.android.application.gradle.plugin/8.2.0

補足:設定ファイル完全サンプル

build.gradle.kts (Project):

kotlin
plugins {
    id("com.android.application") version "8.2.0" apply false
    id("org.jetbrains.kotlin.android") version "1.9.0" apply false
}

build.gradle.kts (Module:app):

kotlin
plugins {
    id("com.android.application")
    id("org.jetbrains.kotlin.android")
}

android {
    namespace = "com.example.app"
    compileSdk = 34

    defaultConfig {
        applicationId = "com.example.app"
        minSdk = 24
        targetSdk = 34
        // ...その他の設定
    }
    // ...ビルド設定
}

dependencies {
    implementation("androidx.core:core-ktx:1.12.0")
    // ...追加依存関係
}

根本的な予防策

この問題を再発させないために:

  1. Android Studioを常に最新版に更新
  2. Gradleバージョンのアップグレード前に公式互換表を必ず確認
  3. カスタムDNSやプロキシを使用する場合はテスト環境で事前検証
  4. プロジェクトに.gradleフォルダをコミットしない(常にクリーンな状態で開始)

上記のソリューションを順に適用することで、プラグイン参照エラーは解消されます。ネットワーク環境やプロキシ設定は環境固有の問題となるため、問題別に切り分けることが解決の近道です。