Skip to content

FlutterプロジェクトでcompileSdk 35を使用時のAGPバージョンエラー解決

問題の説明

FlutterプロジェクトでAPKリリースファイルをビルドしようとすると、以下のエラーが発生します:

[!] Using compileSdk 35 requires Android Gradle Plugin (AGP) 8.1.0 or higher.
│  Please upgrade to a newer AGP version.

このエラーは、Android Gradle Plugin(AGP)のバージョンとcompileSdkのバージョンが互換性がないために発生します。compileSdk 35を使用するには、AGP 8.1.0以上が必要です。

エラーの根本原因:

  • プロジェクトで使用しているAGPバージョンが古い(8.1.0未満)
  • Gradleラッパーのバージョンが8.0以上ではない
  • JavaとKotlinのコンパイラのターゲットJVMバージョンに互換性がない

推奨解決方法:AGPとGradleのバージョンアップグレード

手順 1: AGPバージョンの更新

android/settings.gradleファイルを開き、プラグインのバージョンを最新に更新します。2025年現在の推奨バージョンは8.9.0です:

gradle
pluginManagement {
    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
    plugins {
        id("com.android.application") version "8.9.0" apply false
        id("com.android.library") version "8.9.0" apply false
        id("org.jetbrains.kotlin.android") version "2.1.10" apply false
    }
}

手順 2: Gradleラッパーの更新

android/gradle/wrapper/gradle-wrapper.propertiesファイルを編集し、Gradleディストリビューションを8.11.1に更新します:

properties
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip

AGPとGradleの互換性

AGPとGradleのバージョンには互換性が必要です。公式互換表を参照してください:

AGP VersionGradle Version
8.9.08.11+
8.1.08.0+

Android公式ドキュメントで最新情報を確認しましょう。

手順 3: JVMターゲットバージョンの整合性確保

JavaとKotlinのコンパイラ設定が一致していない場合、新しいエラーが発生します。android/app/build.gradleに以下を追加:

gradle
android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }

    kotlinOptions {
        jvmTarget = "17"
    }
}

バージョンの選択

プロジェクトの要件に応じてJavaVersionはVERSION_1_8VERSION_11VERSION_17から選択してください。両方の設定で同じバージョンを使用する必要があります。

手順 4: クリーンビルドと再取得

次のコマンドでプロジェクトをリセットし、依存関係を再取得します:

bash
flutter clean
flutter pub get
cd android
./gradlew clean
cd ..

付随的問題への対応

NDKエラーが発生する場合

ndkVersionに関連するエラーが発生したら、以下の対策を実施します:

  1. Android StudioのSDK Manager:

    • Tools → SDK Manager → SDK Toolsタブ
    • "NDK (Side by side)"を最新バージョンに更新
  2. app/build.gradleの修正:

gradle
android {
    ndkVersion "27.2.12479018" // 実際にインストールされているバージョンに合わせる
}

代替方法(一時的な回避策)

すぐに対応できない場合、一時的にcompileSdkバージョンを下げてエラーを回避できます。android/app/build.gradleで:

gradle
android {
    compileSdk 34 // 35から34へ下げる
}

::: caution 注意 この方法は公式推奨ではなく、今後発生する可能性のある互換性問題を未解決のままにします。できるだけ早く適切なバージョンアップグレードを実施してください。 :::

予想されるエラーと対応

The Kotlin Gradle plugin was loaded multiple timesエラーが発生する場合:

gradle
// settings.gradle
plugins {
    id("org.jetbrains.kotlin.android") version "2.1.10" apply false // 全ての箇所で同一バージョン指定
}

プロジェクト再構築(最後の手段)

上記すべてが失敗する場合、プロジェクトのAndroid部分を再生成します:

bash
rm -rf android
flutter create . --platforms android

プロジェクトのカスタマイズが失われる可能性があるため、事前にバックアップを取ってください。

このガイドに従って操作することで、compileSdk 35を使用したFlutterアプリのビルドが可能になります。特に新しいFlutterバージョンではAGPとGradleの更新が頻繁に必要なため、定期的な環境更新を心がけましょう。