問題:Java関連のエラー
flutter_console.batでflutter doctorを行った際、以下のように「Android licenses status unknown」、「flutter doctor –android-licensesを実行してください」となりました。
指示通りにflutter doctor –android-licensesを実行します。
Exception in thread “main” java.lang.NoClassDefFoundError
というJava関連のエラーが出ました。。。
私が使用しているJDKはAmazon Corretto11で、そのあたりがまずいのかなと思い、調査してみました。
以下は調査結果です。
原因
JDKが9以上だとエラーになります。
解決方法
JDKをなんとかしないといけませんが、JDKはOracle JDKの有償化でややこしく、できればOpen JDKでなんとかしたいと考えました。
そこでAndroid Studio付属のJDKを使いました。
解決手順
まず、Android StudioのJDKの場所は以下の手順で確認します。
確認方法は以下です。
1. Android Studioでプロジェクトを開きます。
2. ツールバーの[File] > [Project Structure]を選択します。
以下のJDK LocationがJDKのパスです。
flutter_console.batで次のコマンドを実施します。
set JAVA_HOME=”調べたJDKのパス”
flutter doctor –android-licenses
ライセンスに同意するか聞かれるのでyを押します。
全てのライセンスに合意したら、再度flutter doctorコマンドを実行してみます。
下記のように成功しました!
最後に & 関連書籍
以上になります。
分かりにくいところや、「もっとこうしてほしい」などのご意見がありましたら、ツイッターから連絡いただけると幸いです。
質問に関しても、お気軽にお問い合わせください。
スマホアプリの開発はFlutterだけでなくXamarin.Formsでも可能です。
Xamarin.Formsのでも開発していますので、興味があれば見てみてください。
以下は関連書籍です。
参考
https://github.com/flutter/flutter/issues/39549
https://qiita.com/ironsand/items/1aa74d1211624a0a8894
コメント