Help us understand the problem. What is going on with this article?

Flutterコマンド一覧まとめ

はじめに

Flutterのコマンドラインについてのまとめです。
Android StudioやVSCodeを使えば、普段はあまりコマンドを使うことが無いかもしれませんが…

随時更新します!メジャーなものは網羅出来ていると思いますが、抜けているものがあればコメント下さい。プラグイン, テスト系はこれから充実させます。

Flutter環境セットアップ

$ flutter doctor

インストールバージョンやインストールされてないものが無いかなど、Flutter環境診断をしてくれます。
Flutter実行出来なくなったなど、困ったらまずこれをやってみると良いです。

$ flutter upgrade

新しいバージョンにアップデートする時に利用します。

$ flutter channel

現在利用しているFlutter SDKのチャンネルを確認します。

$ flutter channel 
Flutter channels:
* master
  dev
  beta
  stable

チャンネルには以下があります。

チャンネル名 内容
master githubのマスターブランチ。不安定な可能性がありますが、最新を使う場合はこれ
dev masterに対して自動テスト等をパスした一定品質が担保されているもの
beta ベータ版機能が有効になったもの。例えばWebプラットフォームなど
stable 正式リリースのステーブル版。普通の開発者はこれを利用

$ flutter channel チャンネル名

オプションで指定したチャンネルに変更されます。

例.betaチャンネルに切り替え
$ flutter channel beta

$ flutter devices

Flutterアプリとして実行可能なデバイス一覧を確認できます。
Android/iOSエミュレータの場合は、事前に立ち上げた状態でなければ表示されません。

$ flutter devices
2 connected devices:

Android SDK built for x86 • emulator-5554 • android-x86 • Android 10 (API 29) (emulator)
macOS                     • macOS         • darwin-x64  • Mac OS X 10.15.3 19D76

$ flutter config

~/.flutter_settingsに設定ファイルがあり、これを更新するコマンドです。ファイルを直接編集も可能です。
一度設定したらその後はほぼ触る事が無いと思いますが。
※Windows/Linux/macOSを有効にしておくと、新規プロジェクト作成時にそれら向けのディレクトリが作成されます。

Flutter-Webを有効化
$ flutter config --enable-web
Flutter-Desktop-Linuxを有効化
$ flutter config --enable-linux-desktop
Flutter-Desktop-macOSを有効化
$ flutter config --enable-macos-desktop
Flutter-Desktop-Windowsを有効化
$ flutter config --enable-windows-desktop

プロジェクト作成

$ flutter create

Flutterプロジェクト新規作成時に利用します。大体以下で足りるかと思います。
オプションの最後に出力先のディレクトリ名を指定します。

オプション 内容
-t, --template= app, module, package, pluginのいずれかを指定。デフォルトはapp
--org オーガナイゼーションを指定。デフォルトはcom.example
--project-name Flutterプロジェクト名を指定
-i, --ios-language iOS向けプラットフォーム側のコードの言語でobjc, swiftのいずれかを指定。デフォルトはswift
-a, --android-language Android向けプラットフォーム側のコードの言語でjava, kotlinのいずれかを指定。デフォルトはkotlin
--description プロジェクト説明文。デフォルトは"A new Flutter project."
$ flutter create -t app --org com.hoge --project-name ¥
                 example -i swift -a kotlin ¥
                 --description "Example Flutter project." ¥
                 ./example_app

$ flutter clean

ビルド時に生成されるファイル群のクリーン (削除) 時に利用します。
buildと.dart_toolディレクトリを削除してくれます。

プラグイン

$ flutter pub get

pubspec.yamlを更新したら実行するやつです。プラグインのライブラリなどを取得したり更新します。

$ flutter pub deps

ライブラリの依存関係をツリーで表示してくれます。

ビルド

$ flutter build xxx

ターゲット環境 (xxx) を指定してビルドだけ行います。成果物は./build/xxx以下に生成されます。

オプション 内容
aar AAR?何用?
aot DartコードのAOTビルド(バイトコード)
apt Android APKファイル
appbundle Android App Bundleファイル
bundle Flutterのフォントや画像等のバンドルのビルド(flutter_assetsディレクトリ以下)
iso iOS向けビルド
ios-framework .framework向けビルド
macos macOSデスクトップ向け
web Webアプリ向け

アプリ実行

flutter runコマンドを利用することでビルドからインストール、実行まですべて行ってくれます。

$ flutter run

プロジェクトのディレクトリ直下で実行するとdevicesに見えているターゲット (Android/iOS優先) 向けにpub getやビルト、インストールまで一連の作業を実行してくれます。

$ flutter run --release

リリースモードで実行します。

$ flutter run --debug

デバッグモードで実行します。

$ flutter run -d xxx

ターゲットデバイスを指定する場合には-dオプションを利用します。flutter devicesで表示されているデバイスのIDを指定します。

macOSで実行する例
$ flutter run -d macOS

$ flutter run --verbose

flutter runコマンド実行中の詳細ログを表示します。

インストール

$ flutter install

ビルド済みのインストールパッケージをデバイスにインストールします。

テスト

$ flutter test

プロジェクト直下のtestディレクトリのユニットテストを実行します。

その他

$ flutter screenshot

現在接続しているデバイスのスクリーンショットを取得します。
出力先を指定する場合は、--outオプション (ファイル名も指定必要) を利用します。

$ flutter --help

ヘルプメッセージを表示します。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした