上文中介绍了Linux平台下Flutter环境搭建和桌面应用开发,现在需要更深入了解如何将该应用运行在Linux系统的嵌入式设备上。
sony公司提供了一种在linux嵌入式设备上运行flutter的解决方案
Embedded Linux
,并提出flutter-elinux
作为Flutter sdk的一个扩展,用来在嵌入式Linux设备上创建和调试Flutter应用。
一、flutter架构
overview.png二、flutter-elinux使用
安装及示例
- 建议在已安装flutter的系统上进行配置,确保依赖项已全部下载好
sudo apt install unzip curl clang cmake pkg-config
- 执行如下语句
git clone https://github.com/sony/flutter-elinux.git
sudo mv flutter-elinux /opt/
在~/.bashrc
中配置export PATH=$PATH:/opt/flutter-elinux/bin
- 执行
flutter-elinux devices
观察当前命令是否生效,若未生效,检查PATH配置是否正确。 - 执行
sudo apt install weston
weston &
打开weston虚拟机,此时发现flutter-elinux devices
连接设备变成两个,如下图
- 保持weston窗口打开,新开窗口,执行如下代码等待编译完成
flutter-elinux create sample
cd sample
flutter-elinux run -d elinux-wayland
即可编译及运行基于wayland显示后端的demo
demo.png
避坑
- flutter-elinux建议在Ubuntu20.0以上系统编译,否则会存在依赖项版本偏低,cmake版本低,Xdg-shell不可用等问题。
- 后续将对编译文件移植到真实设备进行进一步研究。
三、编译文件移植
通过PC端本地编译出的可执行文件一般基于x86_64平台,需采用交叉编译方法,在PC端编译出arm64版本文件,使用的交叉编译工具链根据硬件设备的系统架构不同而不同。
网友评论