chore(sdk): 公开 SDK 仓初始化 — docs/ + LICENSE(MIT) + .gitignore + README
This commit is contained in:
commit
17a972d46f
5 files changed
+1702
No files matched your search
@@ -0,0 +1,77 @@
|
||||
# MeowOS SDK for HiBy R3 Pro II
|
||||
|
||||
MeowOS 应用框架 SDK 的**公开仓库**——面向第三方开发者,让你为运行 MeowOS 的 **HiBy R3 Pro II** 写自己的 App。
|
||||
|
||||
本仓库把 MeowOS 的 App 框架(`meow_ui`)与相关开发文档独立发布出来,自带示例与构建脚本,**自包含、开箱即构建**,不依赖 MeowOS 主仓。
|
||||
|
||||
> 快速上手见 [docs/APP_DEV_GUIDE.md](docs/APP_DEV_GUIDE.md);SDK 设计全量见 [docs/MEOW_APP_SDK.md](docs/MEOW_APP_SDK.md)。
|
||||
|
||||
## 设备与平台
|
||||
|
||||
| 项 | 值 |
|
||||
|---|---|
|
||||
| 设备 | HiBy(海贝)R3 Pro II |
|
||||
| 架构 | MIPS32r2(**mipsel**,little-endian,soft-float) |
|
||||
| 屏幕 | 480×720,RGB565(代码里颜色统一 24-bit `0xRRGGBB`,SDK 内部转 RGB565) |
|
||||
| 可执行格式 | **静态** MIPS32r2 ELF(编译 `-Os -static`) |
|
||||
| 底层系统 | MeowOS(Linux 系,非 Android) |
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
MeowOS-SDK/
|
||||
├── sdk/ # meow_ui 应用框架静态库源码(自包含,可交叉 → sdk/meow_ui.a)
|
||||
│ ├── meow_ui.h # 伞头(#include 聚合 include/ 子头;App 只 include 这个)
|
||||
│ ├── include/ # 16 个模块子头 + meow_ipc.h / meow_font.h / meow_notif.h(协议/字体)
|
||||
│ ├── meow_font.c # 预渲染位图字体运行时(meow_font.a 源码,自包含)
|
||||
│ ├── build_sdk.sh # 交叉编译 meow_ui.a(mipsel 静态库,内含 meow_font.o)
|
||||
│ └── test_*.c # SDK 宿主逻辑测试(test_host_stub.c 打桩,无硬件可跑)
|
||||
├── examples/hello/ # 最小示例 App(meow_view 框架,多文件分层)
|
||||
│ ├── app.c # main + 装配 + 事件分发(把 meow_ui_run 回调路由到各页)
|
||||
│ ├── ui/ # 每页一个 view 文件(home/demo/list/full/chrome)
|
||||
│ ├── logic/ # 纯 C 业务逻辑(不依赖 meow_ui.h,宿主可裸测)
|
||||
│ └── build_hello.sh # 构建 hello(链 meow_ui.a + libz.a + -lpthread)
|
||||
└── docs/
|
||||
├── APP_DEV_GUIDE.md # 第三方开发上手指南(环境 → 最小 App → 构建打包 → 签名安装 → 调试)
|
||||
└── MEOW_APP_SDK.md # SDK 设计全量规范
|
||||
```
|
||||
|
||||
## 快速上手
|
||||
|
||||
```sh
|
||||
# 1) 构建 meow_ui.a(交叉)
|
||||
cd sdk
|
||||
./build_sdk.sh # 产出 sdk/meow_ui.a
|
||||
|
||||
# 2) 构建示例 App hello
|
||||
cd ../examples/hello
|
||||
./build_hello.sh # 产出 examples/hello/hello(静态 MIPS32r2 ELF)
|
||||
```
|
||||
|
||||
## 构建要求
|
||||
|
||||
- **交叉工具链**(mipsel musl 静态):MeowOS 开发机默认路径
|
||||
`$HOME/Project/R3ProII/.tools/zig-mipsel-cc`(zig 包装,`--target=mipsel-linux-musleabi` soft-float)
|
||||
与对应 sysroot(含 `libz.a`)。可用环境变量覆盖:`MEOW_CC` / `MEOW_SYSROOT`。
|
||||
- GNU `ar`(归档 mipsel 对象,架构无关)。
|
||||
- 宿主逻辑测试(无硬件,`gcc` + `test_host_stub.c` 打桩):
|
||||
```sh
|
||||
cd sdk
|
||||
gcc -I. -Iinclude test_umbrella.c <各 sdk 源 .c> test_host_stub.c -lpthread -o test_umbrella
|
||||
./test_umbrella
|
||||
```
|
||||
参考 [docs/APP_DEV_GUIDE.md §1.2](docs/APP_DEV_GUIDE.md)。
|
||||
- 注意:改 SDK 源码(尤其 `meow_ui_theme`/`meow_widget` 结构)即 ABI 变化,**必须同步重编 `meow_ui.a` 与你的 App**。
|
||||
|
||||
## 与 MeowOS 主仓的关系
|
||||
|
||||
本仓库由 MeowOS 主仓(`MeowOS-For-R3P2`)经 `git subtree split` 拆出,只含公开的 SDK / 示例 / 文档:
|
||||
|
||||
- `sdk/` 对应主仓 `patch_v2/sdk/`,`examples/hello/` 对应主仓 `patch_v2/hello_app/`,`docs/` 对应主仓 `docs/APP_DEV_GUIDE.md` + `MEOW_APP_SDK.md`。
|
||||
- **不含**主仓的系统组件(launcher / amsd / audiod / svc_* / netmgrd 等)、固件、签名工具、**密钥**。
|
||||
- 本仓库中的 `build_sdk.sh` / `build_hello.sh` 已改造为**自包含**(`meow_ipc.h`/`meow_font.h`/`meow_notif.h`/`meow_font.c` 一律在 `sdk/` 内 vendored,不再依赖主仓 `meow_launcherd/`),与主仓内的同名脚本存在差异。
|
||||
- SDK 增量同步(主仓 `patch_v2/sdk` 更新后再推本仓)的方法见主仓 `devdocs/` 与 `scripts/` 中的拆分记录。
|
||||
|
||||
## 许可证
|
||||
|
||||
MIT License——版权 **"MeowOS contributors"**,见 [LICENSE](LICENSE)。
|
||||
Reference in new issue
Block a user