はじめに

自宅では仕事(コードを書く)ではmacOSを使っている(会社貸与品だったり私物だったりする)んですが、 それ以外の用途ではWindows環境の自作デスクトップPCを使っています。 ゲームをやるための用途で性能を盛っている為、Windowsでないとダメだったんですが、 まぁそういう用途だったとしても時々コードを書いたりすることもあります。

それで、今回Flutterをやってみる機運になったのですが、Windows環境でのセットアップでけっこうハマったので、 環境構築のメモ書きを残しておこうかなと思いました。

なお、Flutterのプロジェクトは wasabeef/flutter-architecture-blueprints をfork(テンプレとして生成)したものになります。 … いやもしかするとこのプロジェクト起因の話もあるかも知れない。

環境構築について

WindowsでFlutter開発をするにあたってはAndroidアプリ開発をするのにプラスアルファがある程度です。 ただ、macOSでの開発と異なり、JDKのインストールは結構厄介なので気をつけてください。 (macOSだとそのあたり何故か何とかなるんだけどな)

  • Android Studio
    • 安定した最新版が良い。執筆時点では 2020.3.1 Patch 3
  • Chocolatey
    • コマンド類をインストールするのに使う。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です。。。
    • (いやしかしいくつかJava11でないと動かないようなAPTライブラリがあったような気もするが・・・)
    • この問題が解決したら特別Javaバージョンの縛りはない(GradleとかAndroidの都合はあるかも)ので、修正されることを望みます

また、flutter-architecture-blueprints が要求するツールとして以下が必要です。

  • 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バージョンをインストールする