Skip to content

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: シンボリックリンクの作成(推奨)

ターミナルで以下のコマンドを実行します:

bash
cd /Applications/Android\ Studio.app/Contents
ln -s jbr jre

方法2: フォルダの複製と名前変更

  1. Finderで「アプリケーション」を開き、Android Studioを右クリックして「パッケージ内容を表示」を選択
  2. 「Contents」フォルダ内の「jbr」フォルダを見つける
  3. 「jbr」フォルダを複製し、コピーしたフォルダの名前を「jre」に変更

方法3: Flutterの設定更新

上記のシンボリックリンク作成後に、以下のコマンドでAndroid Studioのパスを明示的に設定します:

bash
flutter config --android-studio-dir /Applications/Android\ Studio.app/Contents

Windowsでの解決策

方法1: シンボリックリンクの作成

管理者権限でコマンドプロンプトを開き、以下を実行:

cmd
cd "C:\Program Files\Android\Android Studio"
mklink /d "jre" "jbr"

方法2: ファイルのコピー

  1. Android Studioのインストールディレクトリ(通常はC:\Program Files\Android\Android Studio)を開く
  2. 「jbr」フォルダ内のすべてのファイルをコピー
  3. 「jre」フォルダを作成し、そこにファイルを貼り付け

注意

ファイルのコピー方法は、Android Studioの更新時に手動での再コピーが必要になる可能性があるため、シンボリックリンク方式を推奨します。

追加の設定

Androidライセンスの承認

Javaのパス問題を解決した後、以下のコマンドでAndroidライセンスを承認する必要があります:

bash
flutter doctor --android-licenses

すべてのライセンスプロンプトに対して承認(yを入力)してください。

JAVA_HOME環境変数の設定

必要に応じて、JAVA_HOME環境変数を設定します:

bash
# ~/.zshrc または ~/.bash_profile に追加
export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"

変更を適用するには:

bash
source ~/.zshrc  # または source ~/.bash_profile

問題の根本原因

この問題は、Android Studioの新しいバージョンでJavaバンドルの構造が変更されたことに起因します:

  • 従来:jreフォルダが存在
  • 新しいバージョン:jbr(JetBrains Runtime)フォルダに変更
  • Flutterツール:依然としてjreフォルダを検索するようにプログラムされている

技術的な背景

JetBrains Runtime(JBR)は、IntelliJプラットフォームベースのIDE向けに最適化されたOpenJDKのディストリビューションです。パフォーマンスの向上とメモリ使用量の最適化が図られています。

検証

解決策を適用後、以下のコマンドで問題が解決したことを確認します:

bash
flutter doctor

正常に設定されると、以下のような出力が表示されます:

[✓] Android Studio (version 2022.1)
[✓] Connected device (1 available)
[✓] Network resources

トラブルシューティング

シンボリックリンクが既に存在する場合

既にjreファイル/フォルダが存在する場合、-fオプションで強制的に上書きできます:

bash
ln -sf jbr jre

その他の問題

上記の解決策で問題が解決しない場合、以下のことを確認してください:

  1. Flutterを最新バージョンに更新
  2. Android SDK Command-line Toolsがインストールされているか確認
  3. 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の間の互換性の問題であり、アプリケーションの機能には影響しません。