Armadilloフォーラム

Flutterアプリが Armadillo-IoT G4 上で表示されない問題について

fd_tanaka

2025年5月1日 16時15分

==========
製品型番:AGX4500
Debian/ABOSバージョン:U-Boot SPL 2020.04-at24(Jun 25 2024 - 05:23:49 + 0000) / 3.20.3-at.3
カーネルバージョン:5.10.226-0-at
3G/LTE モジュール情報 (Debianのみ):
その他:
==========
Flutterで開発したアプリを Armadillo-IoT G4 に転送し、動作確認を行ったのですが、画面表示がされず、コンテナが再起動を繰り返す状態になっています。
ATDE 上で Debug app run on ATDE を用いたデバッグ実行では、問題なく表示・動作します。
しかし、Generate development swu により SWU イメージを作成し、それを Armdillo-IoT G4 に転送して実行したところ、画面に何も表示されず、アプリの起動に失敗しているようです。
logに表示されている /vol_app/flutter_main: not foundですが、Armadillo-IoT G4 上の /var/app/rollback/volumes/my_project ディレクトリ内には flutter_main が作成されていることは確認できています。
なお、flutter_main のパーミッションは以下のとおりです:
lrwxrwxrwx root root

しかし、コンテナが即時に再起動されてしまうため、コンテナ内で /vol_app/flutter_main が正しく存在しているか、または実行可能であるかを確認できていません。
同様の環境で Flutter アプリを正常に動作させる方法や、SWU 作成時に考慮すべき点などについて、アドバイスをいただければ幸いです。
app.conf、Dockerfileはflutter new projectからダウンロードしたまま変更せずに使用しています。

よろしくお願いいたします。

ファイル ファイルの説明
app.log 出力されたlogを添付いたします。
コメント

佐藤です。

"/etc/atmark/containers/my_project.conf" のファイルの内容はどうなっていますでしょうか。
また以下のコマンドの実行結果はどうなっていますでしょうか。

armadillo:~# ls -l /var/app/rollback/volumes/my_project/

> 佐藤です。
>
> "/etc/atmark/containers/my_project.conf" のファイルの内容はどうなっていますでしょうか。
> また以下のコマンドの実行結果はどうなっていますでしょうか。
>

> armadillo:~# ls -l /var/app/rollback/volumes/my_project/
> 

佐藤様

ご回答いただきありがとうございます。

以下、実行したコマンドおよびその出力結果をご共有いたします。

armadillo:~# ls -l /var/app/rollback/volumes/my_project/
drwxr-xr-x    1 root     root            48 May  1 18:42 data
-rwxr-xr-x    1 root     root       1210296 May  1 18:42 flutter_app
lrwxrwxrwx    1 root     root            20 May  1 18:42 flutter_main -> my_project
drwxr-xr-x    1 root     root            96 May  1 18:42 lib

また、該当アプリの設定ファイルである my_project.conf は添付にて送付しております。

お手数をおかけしますが、引き続きご助言のほどよろしくお願いいたします。

ファイル ファイルの説明
my_project.conf

at_makoto.sato

2025年5月2日 9時19分

佐藤です。

"pubspec.yaml" の1行目にある

name: flutter_app

の部分を

name: my_project

に変更したりしましたでしょうか?
変更したのであれば、元の通りの "flutter_app" に戻していただくと動くと思います。

> 佐藤です。
>
> "pubspec.yaml" の1行目にある
>

> name: flutter_app
> 

> の部分を
>

> name: my_project
> 

> に変更したりしましたでしょうか?
> 変更したのであれば、元の通りの "flutter_app" に戻していただくと動くと思います。

佐藤様
ありがとうございます。
pubspec.yamlのnameをflutter_app に戻すと、画面に表示することができました。
今後、pubspec.yaml の name を変更したい場合、どのあたりの設定を直せば良いか教えていただけると嬉しいです。

お手数ですが、よろしくお願いします。

佐藤です。

一度 "my_project/app/build" ディレクトリを削除してから、
"my_project/app/elinux/CMakeLists.txt"
の6行目にある
set(BINARY_NAME "flutter_app")
の部分も修正してみてください。

佐藤です。

すいません。
差し支えなければ、name を変更したい理由を教えてもらえますでしょうか。

> 佐藤です。
>
> すいません。
> 差し支えなければ、name を変更したい理由を教えてもらえますでしょうか。

佐藤さま
"my_project/app/elinux/CMakeLists.txt"
の6行目にある
set(BINARY_NAME "flutter_app")を変更すると、my_projectでも表示することができました。
ありがとうございます。

name を変更したい理由は、別の環境で開発していたものを移行してきたため、可能であればそのときのプロジェクト名(pubspec.yaml の name)をそのまま使いたいと考えていました。

ただ、名前は flutter_app に戻すことで正常に動作しているため、今後は flutter_app のままで利用させていただきます。

色々と助けていただき、本当にありがとうございました。