Open2
Flutter
トラブルシューティング
環境
- WSL2
No. 1
問題
-
flutter doctor
実行時に/usr/bin/env: ‘bash\r’: No such file or directory
となる
解決方法
- WSL2 でホットリロードが効かない問題の解決方法を参考にwsl.confに追記。
- 追記後、PowerShellより
wsl --shutdown
を実行しWSL2を再起 - 再起後
flutter doctor
を実行すると正常に動作
No. 2
問題
-
sdkmanager
がJavaのバージョン依存関係で動作せず以下のようなエラーが出る
Error: LinkageError occurred while loading main class
com.android.sdklib.tool.sdkmanager.SdkManagerCli
java.lang.UnsupportedClassVersionError:
com/android/sdklib/tool/sdkmanager/SdkManagerCli has been compiled
by a more recent version of the Java Runtime (class file version 61.0),
this version of the Java Runtime only recognizes class file versions up to 55.0
解決方法
# JDK Development Kit 21.0.1をダウンロード
$ wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz
# 解凍
$ tar zxvf jdk-21_linux-x64_bin.tar.gz
$ mv jdk-21.0.1 /usr/java
$ cd /usr/java
$ ln -s /usr/java/jdk-21.0.1 default
# Java環境ファイル「.java.env」の作成
# 以下を.java.envに追記
export JAVA_HOME=/opt/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.
# 作成した.java.envを読み込む
$ source .java.env
# バージョン確認
$ java --version