RPK application development¶
Third-party applications use Xiaomi's JavaScript quick application framework. They are separate from native firmware applications and are the safest path for new watch experiences.
Typical package contents¶
Working S1 Active applications commonly contain:
app.js
manifest.json
manifest-watch.json
Common/logo.png
pages or feature directories
entry-release-unsigned.bin
The source UI uses JavaScript, HTML-like templates, and CSS. Image components and frame animations accept PNG/JPG resources. The platform compiler creates the RPK and its compiled entry binary.
RPK versus native firmware¶
| RPK application | Native application |
|---|---|
| Installed and removed through Mi Fitness | Compiled into system firmware |
| PNG/JPG source assets | Shared native GUI archive |
| Sandboxed JavaScript APIs | C/C++ system privileges |
| Lower device risk | OTA/boot risk |
| Best for new applications | Best for modifying existing system behavior |
An RPK cannot assume access to microphone streaming, Bluetooth internals, or system actions merely because a built-in application has those capabilities. Phone assistance may be required, and available APIs differ by firmware.
Safe development loop¶
- Start from a minimal page and one ordinary PNG icon.
- Build with the Xiaomi Watch IDE/toolchain available to you.
- Install through the same Mi Fitness route used for known working RPKs.
- Verify launch, back gesture, physical buttons, suspend/resume, and uninstall.
- Add one capability at a time and record the API/firmware requirement.
Do not include third-party sample RPK binaries in this repository. Document their public source URL or describe the structure instead.