Flutterのインストールで「Android license status unknown」が出た時の解決方法

Flutter

Flutterのインストール確認をした時に、「Android license status unknown」というエラーが出たので解決方法のメモです。

発生したエラー

flutter doctorを実行した時に以下のエラーが出ました。

$ flutter doctor
〜省略〜
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    ✗ Android license status unknown.
〜省略〜

解決方法

ネットで調べてみると、以下のコマンドで解決するとのこと。

$ flutter doctor --android-licenses

しかし、私の環境では、上記のコマンドを実行するとさらに次のエラーが発生しました。

ERROR: JAVA_HOME is set to an invalid directory: /Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/

ネットでさらに調べると、JAVA_HOMEにはbinを含めてはいけないと情報が出てきますが、私の場合は含めていないから合っているように見えます。
なので、実際に設定してあるディレクトリ配下を確認してみると

$ ls /Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/
Contents

ん? Contents?
もう少し調べてみると、Contents/Homeというディレクトリの下にbinがありました。なので、~/.bash_profileに書かれたJAVA_HOMEの値を下記の通り書き換えます。

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/

もう一度、「flutter doctor –android-licenses」を実行するとうまくいきました。途中で何度かy/Nを聞かれます。

$ flutter doctor --android-licenses
〜省略〜
Accept? (y/N): y
All SDK package licenses accepted

続いてflutter doctorを実行すると、エラーが消えているはずです。

結論

JAVA_HOMEは、binの直上のディレクトリを指定しましょう。

コメント

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