[Flutter]Android Studioを「Flamingo」にアップグレードしたら、Androidアプリとしてビルドできなくなった場合の対処法

このページには広告が含まれる場合があります。

 

2023年4月に、Flutterアプリを作るための道具である「Android Studio」の安定版が「Flamingo(2022.2.1)」にアップグレードされましたが、

アップグレード後、FlutterのプロジェクトをAndroidアプリとしてビルドするとエラーになってしまう事象が発生しており、Flutterの公式サイトでも説明されています。

エラーの内容は、上記公式サイトで示されているような、以下のような場合もあれば、

Caused by: org.codehaus.groovy.control.MultipleCompilationErrorException: startup failed:

FAILURE: Build failed with an exception.

* Where:
Build file '…/example/android/build.gradle'
* What went wrong:
Could not compile build file '…/example/android/build.gradle'.
> startup failed:
  General error during conversion: Unsupported class file major version 61

  java.lang.IllegalArgumentException: Unsupported class file major version 61
  	at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:189)
  	at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:170)
  	[…
  	 …
  	 … 209 more lines of Groovy and Gradle stack trace …
  	 …
  	 …]
  	at java.base/java.lang.Thread.run(Thread.java:833)

 

以下のような場合もありますが、

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':audio_session:compileDebugJavaWithJavac'.
> java.lang.IllegalAccessError: class org.gradle.internal.compiler.java.ClassNameCollector (in unnamed module @0x2e094a4a) cannot access class com.sun.tools.javac.code.Symbol$TypeSymbol (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.code to unnamed module @0x2e094a4a

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

 

原因

Android Studioを「Flamingo」にアップグレードした際に、内包されているJavaのSDKのバージョンが11から17にアップグレードされたのですが、Gradle(Androidアプリをビルドするためのツール)のバージョンが7.3未満の場合は、Java17が使えないので、そのような場合に発生するエラーなのだそうです。

This error occurs because Android Studio Flamingo updates its bundled Java SDK from 11 to 17. Flutter uses the version of Java bundled with Android Studio to build Android apps. Gradle versions prior to 7.3 can’t run when using Java 17.

https://docs.flutter.dev/release/breaking-changes/android-java-gradle-migration-guide#summary

 

対処法

ですので、対処法としては、Java17が使えるように、Gradleのバージョン7.3以上7.6.2以下をアップグレードすればいいとのことなので、

You can fix this error by upgrading your Gradle project to a compatible version (7.3 through 7.6.2, inclusive)

 

1)以下の要領で、AndroidアプリとしてFlutterのプロジェクトを開くと、

 

2)(これは発生しない場合あり)エラーになるので、以下の要領で「Build」ウィンドウの「Unsupported Java」にあるリンクをクリックすると、

 

3)プロジェクトをアップグレードするよう促すダイアログ(Project update recommended)が表示されるので「Start AGP Upgrade Assistant」をクリックして、

 

4)表示された「Upgrade Assistant」ダイアログから、以下の要領でアップグレードを実行

 

5)成功後、再度ビルドしてみて、エラーがでなければOK(アプリがちゃんと動けばOK)。

 

(詳しくは、以下の動画で解説していますので、よろしければご覧ください)

こんな記事も読まれています

GAMBO(願望) 願望実現・目標達成の
17秒 / 68秒ワーク
GAMBO(願望) 引き寄せ難民だったぼくの挫折経験から生まれた誰でもできる願望実現サポートアプリ。かの有名な17秒/68秒ワークを独自の視覚化メソッドで簡単実践。
App Store / Google Play 詳しく見る →
Meiso(瞑想) 鐘音と自然音で
5分からのマインドフルネス
Meiso(瞑想) 初心者でも“迷わず続けられる”ことにこだわった、完全無料の瞑想アプリ。画面のガイドに従うだけで呼吸のリズムが整い、最短5分から瞑想を実践できます。
App Store / Google Play 詳しく見る →
小学生からの英検®単語 A ふりがな・音声付き
英検単語1日5分トレーニング
小学生からの英検®単語 ありそうでなかった!ふりがな付き英検®単語トレーニングアプリ!1日たった5分!スキマ時間を活用して、英検®頻出単語を効率的に習得。お子様の一人学習にも安心設計。
App Store / Google Play 詳しく見る →
オボエルンジャー レトロゲームで
nバック脳トレ
オボエルンジャー 科学的脳力開発法「Nバック課題」をファミコン風8bitレトロゲームにアレンジした新感覚脳トレアプリ。記憶力・感情コントロール力・集中力の向上に。
App Store / Google Play 詳しく見る →
ゴイコイコイ 超高速フラッシュカードで
語彙習得
ゴイコイコイ 日常語1400語を視覚的に学べる、高速読み上げフラッシュカード式の語彙トレーニングアプリ。知育教室で行われるフラッシュカード学習を、家庭で“手軽に・安価に・正確に”再現。
App Store / Google Play 詳しく見る →

TOP