はじめに
自宅では仕事(コードを書く)ではmacOSを使っている(会社貸与品だったり私物だったりする)んですが、 それ以外の用途ではWindows環境の自作デスクトップPCを使っています。 ゲームをやるための用途で性能を盛っている為、Windowsでないとダメだったんですが、 まぁそういう用途だったとしても時々コードを書いたりすることもあります。
それで、今回Flutterをやってみる機運になったのですが、Windows環境でのセットアップでけっこうハマったので、 環境構築のメモ書きを残しておこうかなと思いました。
なお、Flutterのプロジェクトは wasabeef/flutter-architecture-blueprints をfork(テンプレとして生成)したものになります。 … いやもしかするとこのプロジェクト起因の話もあるかも知れない。
環境構築について
WindowsでFlutter開発をするにあたってはAndroidアプリ開発をするのにプラスアルファがある程度です。 ただ、macOSでの開発と異なり、JDKのインストールは結構厄介なので気をつけてください。 (macOSだとそのあたり何故か何とかなるんだけどな)
-
- 安定した最新版が良い。執筆時点では 2020.3.1 Patch 3
-
- コマンド類をインストールするのに使う。macOSで言うところのHomebrewのようなもの。
- Chocolatey経由で
sudo
をインストールすると、パッケージインストールの一瞬だけ権限昇格したい時便利。
-
choco install git.install --params "/NoAutoCrlf"
- なんだかんだGitに依存していることがあるので。
- Windows環境では改行コードの扱いがややこしいですが、IDE側で解釈できるから切っておいた方が良いと思います
-
JDK 1.8.0 を ojdkbuild/ojdkbuild から入手してインストールする
-
2021年10月26日現在、Windows環境でAndroidアプリ開発をする上で選ぶべきJDKです。。。
- 理由としては、JDK11以降のJDKでは
org/jetbrains/kotlin/cli/common/PropertiesKt
関連のエラーが出てビルドが通らないため - JDK11でも問題ないバージョンとそうではないバージョンがあるらしいが、それを選択するのが難しいので、JDK8を勧めています。
- NoClassDefFoundError: Couldn’t import gradle project because of org/jetbrains/kotlin/cli/common/PropertiesKt in Android Studio 4.2 canary >9 on Windows : KTIJ-18046
- 理由としては、JDK11以降のJDKでは
-
(いやしかしいくつかJava11でないと動かないようなAPTライブラリがあったような気もするが・・・)
-
この問題が解決したら特別Javaバージョンの縛りはない(GradleとかAndroidの都合はあるかも)ので、修正されることを望みます
-
また、flutter-architecture-blueprints が要求するツールとして以下が必要です。
追記[2021/12/01]: とか言ってたら wasabeef/flutter-architecture-blueprints では asdf を使うようになっててウーン。。。
-
choco install make
- Makefileの解釈に必要。それ以外のツール(gccみたいなやつ)はいまのところ不要です。
-
choco install fvm
- fvm | Flutter Version Management
- Flutterのバージョン指定をリポジトリで独立させるために必要
- Android Studio側の設定変更が多少あるのに注意(IDEからの実行をしたいとき必要)
-
node のインストール
- 当該repoではHuskyというgit hooksを管理するツールを使うためだけにnodeを要求している
- オススメは
choco install nvs
- インストール後
nvs
コマンドを引数なしで実行して、適当なnodeバージョンをインストールする