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の直上のディレクトリを指定しましょう。
コメント