Skip to content

开发指南 ​

LILYGO UI 将 UI 工具包、launcher、应用项目和目标 sysroot 分开维护,使桌面模拟和 CM0 AArch64 构建可以使用同一套应用结构。

运行时分层 ​

层作用参考
应用独立可执行文件、界面、状态和设备行为template
Launcher通过 JSON manifest 发现应用并显示应用网格launcher
AppKitLVGL、字体、系统状态、状态栏和 runtime 服务cm0-appkit
Sysroot/toolchainAArch64 头文件、库、包 overlay 和 CMake 交叉编译配置CM0BspBuilder
项目工作流初始化、主机测试、交叉编译、Debian 打包和 SSH 部署lpm

AppKit 集成 ​

AppKit README 记录了 CMake 集成方式:

cmake
find_package(LilyGoUI CONFIG REQUIRED)

公开的 CMake target 包括 LilyGoUI::LVGL、LilyGoUI::UIFonts、LilyGoUI::SystemStatus、LilyGoUI::StatusBar 和 LilyGoUI::Runtime。主机使用 SDL2 和 FreeType,目标机使用 CM0 sysroot 提供的 DRM/FreeType 环境。

键盘接入 ​

应用通过 cm0_app_run() 使用 LilyGoUI::Runtime 的默认输入组,由 AppKit 负责键盘发现、热插拔、按键映射、焦点导航和软键盘抑制。业务逻辑连接到控件事件,并按需标记弹窗焦点范围和滚动浏览区域。

键盘接入指南提供代码示例、按键行为速查、焦点样式说明,以及验证和发布检查清单。

Launcher 布局 ​

应用通过 JSON manifest 被 launcher 发现。上游 launcher README 描述的默认逻辑画布为竖屏 568 × 1232,状态栏 96 px,每页最多 18 个应用。这些是当前默认值,设计依赖精确尺寸时请以仓库最新内容为准。

构建路径 ​

从 template 开始,用 lpm 进行主机验证,再使用 CM0BspBuilder 提供的 sysroot 构建 Debian 构件,最后通过 packages 注册应用。