Ubuntu21.04にFlutterの環境構築したのでメモ
2021/11/08
Ubuntu21.04にFlutterの環境構築したので最新版ということでメモしておきます。
Android Studioのインストール
インストールする前にAVDを有効にするためにはKVMが必要。adb(Android Debug Bridge)もインストール。
$ sudo apt -y install qemu-kvm adb git
$ sudo gpasswd -a "${USER}" kvm
Android Stuidoのインストール。
$ sudo snap refresh $ sudo snap install android-studio --classic
Android Studioを起動して以下の画面になるまで進める(初期設定を求められる)。ここまで進めないとFlutter側でAndroid Studioが認識できないと怒られるので。
Flutterのインストール
まず、以下のFlutter公式のダウンロードサイトを確認しましょう。
https://flutter.dev/docs/get-started/install/linux
Flutterに必要な各種環境ツールのインストール
$ sudo apt install bash clang curl git libcanberra-gtk-module libglu1-mesa unzip xz-utils zip
FlutterSDKをインストール。ちょっと前までは公式サイトからダウンロードする必要ありましたが、今は以下のコマンドで入手可能。パス設定も不要なので楽。
$ sudo snap install flutter --classic
flutter doctorコマンドで依存関係をチェック。Android license status unknownと怒られました。ここまでは既定路線。
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.2.1, on Linux, locale ja_JP.UTF-8)
[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
✗ Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/linux#android-setup for
more details.
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] IntelliJ IDEA Community Edition (version 2021.2)
[✓] VS Code (version 1.61.2)
[✓] Connected device (1 available)
! Doctor found issues in 1 category.
指示に従って以下のコマンドを打つとjava.lang.NoClassDefFoundError発生。
$ flutter doctor --android-licenses
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 5 more
このエラーの対処法は以下にまとめています。
上記対処すると以下の通りすべてOKとなりました。
$ flutter doctor Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 2.2.1, on Linux, locale ja_JP.UTF-8) [✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0) [✓] Chrome - develop for the web [✓] Android Studio (version 2020.3) [✓] IntelliJ IDEA Community Edition (version 2021.2) [✓] VS Code (version 1.61.2) [✓] Connected device (1 available) • No issues found!
Android Studioの設定
Android StudioでFlutterの開発を行う場合は、プラグインをインストールする必要あります。初期画面の「Plugins」メニューから「Flutter」を探してインストールしましょう。
インストールが終わると「Restart IDE」というボタンが現れるので、それを押して再立ち上げしてください。
以下のように「New Flutter Project」というボタンが現れれば成功です。
VSCodeの設定
VSCodeで開発をする場合は、拡張機能をインストールする必要あります。拡張機能メニューからFlutterを探してインストールしてください。
インストールが終わったら、「表示」−「コマンドパレット」を選択しましょう。
コマンドパレットが現れたら「flutter」と打ってみてください。「Flutter: New Project」という項目が現れたら成功です。
スポンサーリンク






