Raspberry Pi 4でFlutterを使ってみる

今回もFlutterの開発環境をRaspberry Pi4 + Ubuntuで構築します。

最初に言っておくと、「動きはするが微妙な感じ」でした。

・Flutter SDKのインストール


公式サイトのGet Startedを参考に、Flutterのsnapを使用してインストールします。

インストール完了後、下記コマンドを実行してコンポーネントを確認します

実行例ではChromeとFlutter IDEが入ってない旨の警告が出ました。

今回はCode Serverでやるつもりなのと、外部からChromeでアクセスできなかったので今回はWebアプリとして開発します。

再度、flutter doctorを実行してみます。
Chromeの欄にチェックが入ったので次の項目へ

Flutter SDKのパスを設定します。Flutterのパスは下記のコマンドで確認します

先ほど確認したFlutter SDKのパスを永続化します

ファイルの内容は下記のとおりです。

編集完了後、下記のコマンドでパスを更新します。

今回はLinuxにインストールするので念のため、デスクトップ要件のサポートを有効にします。

・Code Serverの設定

Flutterの拡張機能をインストールします

拡張機能インストール後、「Ctrl+Shift+P」でコマンドパレット呼び出して下記コマンドを実行します
内容自体はターミナルで実行したflutter doctorと同じ内容が出るはずです。

・Flutter Projectの作成

コマンドパレットを呼び出して「Flutter: New Application Project」を実行します。
今回は/home/ubuntu/flutter/直下にdefault名のflutter_applcation_1で作成しました。
main.dartが表示されたら、プロジェクトの作成が完了です。

Flutterでサーバを立てて実行した場合、localhostからしかアクセスできないので、外部から見れるようにします。
(ちなみに、ここがRaspberry Pi4で環境構築するときに情報がなくてハマりました。)
今回はapache2を使用します。apache2のインストールについてはこちらを参考にしてください。

本当は設定した方がいいのでしょうが、今回は動作確認だけなので消します。/web/index.htmlの下記の一文をコメントアウトします。
この一文があると、http://IPアドレス/直下を見に行ってしまい、404が返ってきます。

Code Serverのターミナルから下記のコマンドを実行してプロジェクトをビルドします。

/build/webフォルダができていることが確認出来たら、ドキュメントルートにシンボリックリンクを作成します。
今回は/var/www/htmlをドキュメントルートに設定しているので/var/www/html/flutterでリンクを作成します。

ここまで出来たら実際にhttp://IPアドレス/flutter/にアクセスして動作を確認します。
画像の画面が表示されたら環境構築完了です。(表示まですこし時間がかかる場合があります)

・終わり

構築してみた感想としては、Code Serverでやるものじゃないなというのが素直な感想です。
Web Serverでやろうにも外部からアクセスできず、デバッグ実行もできないので、ローカルに直接構築するか、Dockerでやった方がいいのかなという感じでした。
やり方が間違っているのかもしれないですが、Code ServerではChromeやAndoridのアプリのデバッグも出来ませんでした。
Remote DevelopmentだとFirefoxのみWeb Serverのデバッグでも表示できました。
とはいえ、ラズパイでも動作することが分かったのは収穫でした。

では、この辺で。

三条 海斗

・余談

ちなみにFlutterを使わないプレーンのDartならデバッグ実行できました。

コメント

タイトルとURLをコピーしました