flutter doctorでjava versionに関する問題が表示された時の解決法

不具合対処への奮闘
スポンサーリンク

このブログではFlutterはこれまで全く触れていませんが、個人的には多少触っています。

Flutterを触っていたら、何やら問題が発生したので、その対処方法についてまとめておこうと思います。

Flutterそのものについても機会を作ってこのブログでもまとめていきたいと思いますが、まずは発生した問題の解決を行なっていきましょう。

では、どんな感じで問題が発生したのでしょうか。

スポンサーリンク

Android Studioをupdateしてflutter doctorすると問題発生

久しぶりにAndroid Studioを起動するとupdeateのメッセージが表示されていたので、クリックしてアップデートしました。ここではAndroid Studio Arctic Fox(2020.3.1)へアップデートしたことになります。ちなみに私のMacはM1チップではありません。

アップデートのインストールが終わったら、ターミナルからflutter doctorのコマンドを実行してみました。

すると次のような問題が発生しました。

% flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.5.2 20G95 darwin-x64, locale
    ja-JP)
[!] Android toolchain - develop for Android devices (Android SDK version
    30.0.0-rc1)
    ✗ Could not determine java version
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[!] Android Studio (version 2020.3)
    ✗ Unable to find bundled Java version.
[✓] VS Code (version 1.59.0)
[✓] Connected device (1 available)

! Doctor found issues in 2 categories.

何やら問題が発生しています。

Could not determine java version

Unable to find bundled Java version.

この2つの問題が発生していますが、どちらもJava のversionに関することで、Android StudioがJavaを認識していないというような問題のようです。

スポンサーリンク

解決方法

stack overflowに次のような記事がありました。

Flutter-Unable to find bundled Java version(flutter doctor), after updated android studio Arctic Fox(2020.3.1) on M1 Apple Silicon

私のMacはM1 Macではありませんが、この記事の方法で問題ないようです。

ターミナルから次のコマンドを入力してシンボリックリンクを作成するということになります。

% cd /Applications/Android\ Studio.app/Contents/jre
% ln -s ../jre jdk
% ln -s "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin" jdk

ディレクトリをjreに移動してからシンボリックリンクを作成しています。

ここで、再度、flutter doctorを実行してみます。

% flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.5.2 20G95 darwin-x64, locale
    ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK version
    30.0.0-rc1)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] VS Code (version 1.59.0)
[✓] Connected device (1 available)

• No issues found!

生じていた問題はこれで解消されました。

スポンサーリンク

Android Studioのupdate時の注意点

先の解決方法で問題が解消された後に、Android Studioをupdateがあって更新作業をした時に、この解決方法に関わる次のような表示が画面に現れて、更新処理が一時中断します。

この場合は、CancelのボタンをクリックすればOKです。

ここでProceedをクリックしてもAndroid Studioの更新はできますが、flutter doctorを実行すると再度同じ問題が発生するので、解決方法を再度実行してシンボリックリンクを作成することが必要になります。

(追記:2021/10/07)現在、Android Studioのバージョンアップが進んで、ここで「Proceed」を選択しても問題なく実行できるようになっているようです。flutter doctorを実行してもエラーは発生しなくなっています。

スポンサーリンク

まとめ

Android Studio Arctic Fox(2020.3.1)へアップデートしたことにより、flutter doctorコマンドで問題が発生しました。

シンボリックリンクを作成することによって問題を解決することができます。

追記:Android Studioのバージョンアップで、この問題も解消されているようです。

タイトルとURLをコピーしました