Open6

Flutter のメモ

kiaikiai

Flutter をWindows で開発したいメモ

※ここに概要を追加(あとから)

Flutterというのを使えばWindowsでも iOS のモバイルアプリを開発できるらしいときいた.でもよく調べるとビルドがXcodeとかいうやつしかできないらしい(Evilじゃん)

が,そのビルドを代わりにやってくれるCodeMagicっていうサービスが有るとか.

WindowsでVScodeを使いつつFlutterをやり,iOS とAndroid両方のモバイルアプリを作りたいのでメモを重ねる

kiaikiai

インストール

信者なのでWSL2を使う:Linux向けのインストール方法に従う
cf. https://flutter.dev/docs/get-started/install/linux

Get the Flutter SDK

On Linux, you have two ways you can install Flutter.

2つの方法がある:

  1. Install Flutter using snapd
  2. Install Flutter manually

なんだか2つ目の方法はミスったときにヤバそうだった.自信がないので1つ目の方法を利用する.幸いにも私の環境でのWSL2には snap が存在していた(which snap でコマンドを調べればよい)

→ と思ったら error: cannot communicate with server: Post http://localhost/v2/snaps/flutter: dial unix /run/snapd.socket: connect: no such file or directory と言われてしまった.

色々調べると,snap ってのはかなり頑張っているイイヤツらしい :

snapはCanonicalとUbuntuコミュニティが推進する「ユニバーサルパッケージ」です。依存するソフトウェアをすべてパッケージに含めることで,依存関係を気にせずあらゆるディストリビューションでインストール可能なバイナリパッケージとして利用できます。

ので,今後のことも考えて ①snap をWSL2でも使えるようにする ② snap でflutter を入れる ところまでやろうと思う

kiaikiai

snap の準備

sudo apt-get update && sudo apt-get install -yqq daemonize dbus-user-session fontconfig
sudo daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
exec sudo nsenter -t $(pidof systemd) -a su - $LOGNAME

snap version

cf. https://github.com/microsoft/WSL/issues/5126#issuecomment-653715201

参考になりそうな文献

kiaikiai

それでもダメなの……

なんかよくわからんけど,snap 実行の際にログインパスワードを要求されて,login.ubuntu.com にアカウント作ったのに弾かれてしまう(最悪)

切り替えて,マニュアルインストールを試す.


というかこっちのほうがかんたんだった……好きなところにCloneしてきてそれを .profile とかで環境変数読み込むようにすればいいっぽい(私の場合は export PATH="$PATH:$HOME/flutter/bin"でシェル起動ごとに読みこむようにしてある).

git clone https://github.com/flutter/flutter.git -b stable

ついでに,以下のコマンドを実行することで諸々あとからよくなるらしいので実行した(説明略).

flutter precache
flutter upgrade
kiaikiai

実行環境の診断

flutter doctor を実行すると,開発環境に必要な物が揃っているか診断してくれる.私の場合は以下のような診断が出た.

Doctor summary (to see all details, run flutter doctor -v):
[] Flutter (Channel stable, 2.0.5, on Linux, locale C.UTF-8)
[] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.

[] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[!] Android Studio (not installed)
[!] Connected device
    ! No devices available

! Doctor found issues in 4 categories.

Android Studio ではなく VScode での開発を予定しているのでこの警告は放置する.接続しているデバイスがないってのも現時点では当然なので放置.

Android toolchainChrome がないのはダメっぽいのかも? → Android 向けに開発したいなら前者が,ウェブ向けにも開発したいなら後者が必要になるようだ.現時点では要らないので放置 と思っていたが,エミュレータ環境が必要になるということがわかった.WindowsなのでiOSは再現できないが,代わりにAndroid Studio(SDK)を使うことになる.