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です:
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に更新します:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip
AGPとGradleの互換性
AGPとGradleのバージョンには互換性が必要です。公式互換表を参照してください:
AGP Version | Gradle Version |
---|---|
8.9.0 | 8.11+ |
8.1.0 | 8.0+ |
Android公式ドキュメントで最新情報を確認しましょう。
手順 3: JVMターゲットバージョンの整合性確保
JavaとKotlinのコンパイラ設定が一致していない場合、新しいエラーが発生します。android/app/build.gradle
に以下を追加:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
}
バージョンの選択
プロジェクトの要件に応じてJavaVersionはVERSION_1_8
、VERSION_11
、VERSION_17
から選択してください。両方の設定で同じバージョンを使用する必要があります。
手順 4: クリーンビルドと再取得
次のコマンドでプロジェクトをリセットし、依存関係を再取得します:
flutter clean
flutter pub get
cd android
./gradlew clean
cd ..
付随的問題への対応
NDKエラーが発生する場合
ndkVersion
に関連するエラーが発生したら、以下の対策を実施します:
Android StudioのSDK Manager:
- Tools → SDK Manager → SDK Toolsタブ
- "NDK (Side by side)"を最新バージョンに更新
app/build.gradle
の修正:
android {
ndkVersion "27.2.12479018" // 実際にインストールされているバージョンに合わせる
}
代替方法(一時的な回避策)
すぐに対応できない場合、一時的にcompileSdkバージョンを下げてエラーを回避できます。android/app/build.gradle
で:
android {
compileSdk 34 // 35から34へ下げる
}
::: caution 注意 この方法は公式推奨ではなく、今後発生する可能性のある互換性問題を未解決のままにします。できるだけ早く適切なバージョンアップグレードを実施してください。 :::
予想されるエラーと対応
The Kotlin Gradle plugin was loaded multiple times
エラーが発生する場合:
// settings.gradle
plugins {
id("org.jetbrains.kotlin.android") version "2.1.10" apply false // 全ての箇所で同一バージョン指定
}
プロジェクト再構築(最後の手段)
上記すべてが失敗する場合、プロジェクトのAndroid部分を再生成します:
rm -rf android
flutter create . --platforms android
プロジェクトのカスタマイズが失われる可能性があるため、事前にバックアップを取ってください。
このガイドに従って操作することで、compileSdk 35を使用したFlutterアプリのビルドが可能になります。特に新しいFlutterバージョンではAGPとGradleの更新が頻繁に必要なため、定期的な環境更新を心がけましょう。