Android Studio Arctic Fox/Electric Eel で「bundled Java versionが見つからない」エラーの解決方法
対象環境
この記事は以下の環境で発生する問題を対象としています:
- macOS(Apple Silicon M1 および Intel)
- Windows
- Android Studio Arctic Fox (2020.3.1) 以降
- Android Studio Electric Eel (2022.1.1) 以降
- Flutter開発環境
問題の概要
Android StudioをArctic Fox (2020.3.1) または Electric Eel (2022.1.1) にアップデート後、flutter doctor
コマンドを実行すると「Unable to find bundled Java version」というエラーが表示されます。
この問題は、新しいバージョンのAndroid Studioが従来のJRE(Java Runtime Environment)の代わりにJBR(JetBrains Runtime)を使用するようになったことが原因です。Flutterツールはまだjre
フォルダを検索するようにプログラムされているため、この不一致がエラーを引き起こします。
解決方法
macOSでの解決策
方法1: シンボリックリンクの作成(推奨)
ターミナルで以下のコマンドを実行します:
cd /Applications/Android\ Studio.app/Contents
ln -s jbr jre
方法2: フォルダの複製と名前変更
- Finderで「アプリケーション」を開き、Android Studioを右クリックして「パッケージ内容を表示」を選択
- 「Contents」フォルダ内の「jbr」フォルダを見つける
- 「jbr」フォルダを複製し、コピーしたフォルダの名前を「jre」に変更
方法3: Flutterの設定更新
上記のシンボリックリンク作成後に、以下のコマンドでAndroid Studioのパスを明示的に設定します:
flutter config --android-studio-dir /Applications/Android\ Studio.app/Contents
Windowsでの解決策
方法1: シンボリックリンクの作成
管理者権限でコマンドプロンプトを開き、以下を実行:
cd "C:\Program Files\Android\Android Studio"
mklink /d "jre" "jbr"
方法2: ファイルのコピー
- Android Studioのインストールディレクトリ(通常は
C:\Program Files\Android\Android Studio
)を開く - 「jbr」フォルダ内のすべてのファイルをコピー
- 「jre」フォルダを作成し、そこにファイルを貼り付け
注意
ファイルのコピー方法は、Android Studioの更新時に手動での再コピーが必要になる可能性があるため、シンボリックリンク方式を推奨します。
追加の設定
Androidライセンスの承認
Javaのパス問題を解決した後、以下のコマンドでAndroidライセンスを承認する必要があります:
flutter doctor --android-licenses
すべてのライセンスプロンプトに対して承認(y
を入力)してください。
JAVA_HOME環境変数の設定
必要に応じて、JAVA_HOME環境変数を設定します:
# ~/.zshrc または ~/.bash_profile に追加
export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"
変更を適用するには:
source ~/.zshrc # または source ~/.bash_profile
問題の根本原因
この問題は、Android Studioの新しいバージョンでJavaバンドルの構造が変更されたことに起因します:
- 従来:
jre
フォルダが存在 - 新しいバージョン:
jbr
(JetBrains Runtime)フォルダに変更 - Flutterツール:依然として
jre
フォルダを検索するようにプログラムされている
技術的な背景
JetBrains Runtime(JBR)は、IntelliJプラットフォームベースのIDE向けに最適化されたOpenJDKのディストリビューションです。パフォーマンスの向上とメモリ使用量の最適化が図られています。
検証
解決策を適用後、以下のコマンドで問題が解決したことを確認します:
flutter doctor
正常に設定されると、以下のような出力が表示されます:
[✓] Android Studio (version 2022.1)
[✓] Connected device (1 available)
[✓] Network resources
トラブルシューティング
シンボリックリンクが既に存在する場合
既にjre
ファイル/フォルダが存在する場合、-f
オプションで強制的に上書きできます:
ln -sf jbr jre
その他の問題
上記の解決策で問題が解決しない場合、以下のことを確認してください:
- Flutterを最新バージョンに更新
- Android SDK Command-line Toolsがインストールされているか確認
- Android Studioのインストールパスが正しいか確認
結論
Android Studioの新しいバージョンで発生する「Unable to find bundled Java version」エラーは、シンボリックリンクを作成する簡単な方法で解決できます。この解決策は公式な修正が提供されるまでの一時的な対応ですが、多くの開発者で効果が確認されています。
互換性
この解決策は以下の環境で確認されています:
- macOS Monterey & Ventura (IntelおよびApple Silicon)
- Windows 10/11
- Android Studio Arctic Fox (2020.3.1) 以降
- Android Studio Electric Eel (2022.1.1) 以降
問題が解決した後は、通常通りFlutter開発を続行できます。この問題はFlutterツールとAndroid Studioの間の互換性の問題であり、アプリケーションの機能には影響しません。