1. はじめに
FlutterアプリをLinux (Ubuntu) 環境で動かすための開発環境の構築手順をまとめています。2021/03/04時点でのLinuxのサポート状況はベータ版となっています。ベータ版ですが、Flutter 2.0以降はstableチャネルでも利用可能です!
macOS環境の場合はこちら
2. 環境構築の手順
Flutter SDKインストール
リポジトリからcloneした後は、適当なパスに配置して、パスを通しておきます。
$ git clone https://github.com/flutter/flutter
$ sudo mv flutter /usr/local/
$ export PATH=$PATH:/usr/local/flutter/bin
[オプション] Android Studioインストール
Android向けにビルドをしない場合、Android Studioのインストールは不要です。
https://developer.android.com/studioからLinux版をダウンロードして適当な場所に置いて、インストールスクリプトを叩きます。
Android Studioのインストールで基本的には次へを押していく感じです。
$ wget https://dl.google.com/dl/android/studio/ide-zips/3.5.3.0/android-studio-ide-191.6010548-linux.tar.gz
$ sudo tar -xzvf android-studio-ide-191.6010548-linux.tar.gz -C /usr/local/
$ /usr/local/android-studio/bin/studio.sh でAndroid Studioをセットアップ
ビルドで必要になるパッケージのインストール
$ sudo apt install clang curl pkg-config ninja-build cmake libgtk-3-dev libblkid-dev liblzma-dev unzip
Flutterセットアップ
ターゲット環境をHost PC (Ubuntu) にする設定を行います。参考
$ flutter config --enable-linux-desktop
しばらく時間がかかりますが、そのまま待ちましょう。
ここまでの状況の確認
以下のコマンドを使うと、flutterを動かすためのインストール状況を診断してくれます。今回はサンプルを動かせればいいので、以下の状態でも大丈夫です。
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, v1.12.3-pre.49, on Linux, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Linux toolchain - develop for Linux desktop
[!] Android Studio (version 3.5)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[!] VS Code (version 1.40.1)
✗ Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[!] Proxy Configuration
! NO_PROXY does not contain 127.0.0.1
[✓] Connected device (1 available)
! Doctor found issues in 3 categories.
3. サンプルを実行してみる
サンプルプロジェクトの作成
$ mkdir sample
$ cd sample
$ flutter create .
実行
$ flutter run -d linux
もしくは、ビルドのみ行いたい場合は以下のコマンドを実行します。
$ flutter build linux
コマンド実行後、エラー等がなければbuild/linux/debug/bundle/sampleに実行バイナリが作成されているため、これを実行するとアプリケーションが立ち上がります。
$ build/linux/debug/bundle/sample
4. デスクトップ向けプラグインの動作確認
プラットフォーム依存のAndroid/iOS向けのプラグインはデスクトップ環境では利用出来ません (Dartのみのプラグインであれば、プラットフォームに依存せずに共通で利用が可能です) 。そのため、用意されているプラグインを使ったテスト済みのサンプルがflutter-desktop-embedding
にあります。これを参考に、デスクトップ向けのプラグインの作成方法を把握することが出来ます。
flutter-desktop-embedding取得
$ git clone https://github.com/google/flutter-desktop-embedding.git
実行
$ cd flutter-desktop-embedding/testbed
$ flutter run -d linux