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;SDK 设计全量见 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 设计全量规范

快速上手

# 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 打桩):
    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。
  • 注意:改 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。

S
Description
No description provided
Readme MIT
4.2 MiB
0 Stars 1 Watchers 0 Forks
Languages
C 97.6%
Python 2.3%
Shell 0.1%