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.zipAGPと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の更新が頻繁に必要なため、定期的な環境更新を心がけましょう。