一、表盘开发
语言:Lua、LVGL(界面)
作者:如何在 AIoT IDE 中开发纯Lua表盘应用(一键运行在虚拟机) | 米坛社区 BandBBS
模板仓库:FangAiden/LuaDevTemplate
Lua逆向参考文档:Vela_Application_Documentation/docs-lua/index.md
(1)开发步骤
- 首先在 AIoT IDE 中安装以下插件:
- Lua(开发者:sumneko)
- ADB Files(开发者:Erol444)——用来管理虚拟机文件
- git clone 仓库,并打开
- 创建虚拟机:
- 点击顶部搜索框,选择 Run Task – “去除模拟限制”,这样之后就可以选择9Pro表盘
- 在 Device Manager 栏中点 Create 进入创建虚拟机页面
- 创建镜像为vela-miwear-watch-5.0的虚拟机,表盘形状选择米环9Pro。确保一定带有miwear,否则镜像没有Lua环境
- 编写代码:
- 表盘目录:
\watchface\fprj\app\lua\main.lua
- 表盘目录:
- 启动调试:
- 首次启动模拟器后,选择 Run Task – “全新部署”,这样会安装新表盘到模拟器
- 修改完代码,选择 Run Task – “热重载代码”,即可自动热重载
- 如果需要查看和修改模拟器内文件:
- 新建 AIoT 窗口,点击搜索框选择 Run Command – ADBFS
- 打包:
- 选择 Run Task – “生成表盘ID”,会自动修改 config 中的ID
- 选择 Run Task – “构建表盘二进制”
- 生成的.face文件在/bin目录内。
(2)已知特性
- 真机可以使用io读取
\data\app\watchface\market\表盘ID\、\tmp\等许多路径内的文件 - 真机不可以读取其他快应用路径内的文件
- LVGL支持的图片格式:ARGB8888、RGB565
二、快应用开发
语言:HTML、JS、CSS
文档:
(1)开发步骤
- 使用 AIoT 创建项目
- 配置环境:跟随右侧的 User Guide
- 确保 nodejs 已安装
- 点击按钮安装依赖模块
- 初始化模拟器
- 编写代码:
\src\pages - 调试:
- 点击 Choose Devices:选择 xiaomi_band_pro
- 点击 Debug,启动虚拟机
- 保存代码会自动刷新到虚拟机
- 打包:
- 在 manifest 等配置文件中取package包名和name应用名
- 点击 Package,构建 rpk 安装包,生成目录:
\dist
- 安装:
- 使用 AstroBox 安装
(2)已知特性
- 不能调试console.log()?
三、AstroBox 插件开发
语言:v1为 TypeScript;v2为 Rust,v2尚未发布
文档:
(1)v1开发步骤
- 配置环境:
- 安装 pnpm 打包器
- git clone 仓库,在 VSCode 中打开即可
- 修改 manifest:
- 修改基本属性
- 添加权限!
- “permissions”:[“lifecycle”,”interconnect”,”config”,”device”,”event”,”filesystem”,”installer”,”native”,”ui”,”thirdpartyapp”,”network”,”provider”]
- 编写代码:
\src\index.ts - 打包:
- 进入目录使用 npm build 进行构建
- 生成目录:
\dist - 将
\dist目录复制到C:\Users\用户名\AppData\Roaming\moe.astralsight.astrobox\plugins中,修改文件夹名称 - 重启 AstroBox 即可
发表回复