2.3 KiB
2.3 KiB
DSHWatch 构建与部署指南(v0.1)
说明:手表与手机必须 同包名 + 同签名 才能通过 @system.interconnect 通信。包名统一为 com.dshwatch.app。
1. 启动中继服务器(DSHWatch_Server)
cd DSHWatch_Server
cp config.example.json config.json # 修改 token
npm install
npm start
健康检查:GET http://127.0.0.1:8787/health
2. 配置 Harness 插件(dsh-watch)
在 DSH profile 的 cordis.patch.yml 里:
- id: dsh-watch
config:
mode: relay
serverUrl: "ws://你的服务器:8787"
userId: "someone"
token: "与 config.json 相同"
reconnectMs: 5000
timeoutMs: 30000
或直连模式:
- id: dsh-watch
config:
mode: direct
host: "0.0.0.0"
port: 18321
token: "自己定的 token"
3. 构建手机端 Android APK(DSHWatchPhone)
开发阶段可直接用官方 demo 证书(.dsh/downloads/interconnect_demo 里):
-
确保 app/libs/xms-wearable-lib_1.4_release.aar 存在(已放)。
-
放好 keystore.properties(含 keystore 路径/密码),keystore/keystore.jks 在本地。
-
Android Studio 打开,Build -> Build APK。
已准备:keystore.properties (demo 证书 xmswearable)
./gradlew assembleDebug
注意:keystore.properties 与 keystore/ 不要提交到 git。
4. 构建手表端 rpk(DSHWatch)
AIoT IDE 打开 DSHWatch,用与手机 APK 相同的证书签名。
- DSHWatch/sign/debug 与 sign/release 已放入 demo 的 certificate.pem / private.pem(本地,gitignored)。
- 在 IDE 里「构建」或「发布」,生成 rpk。
5. 安装与联调
- 手机安装 APK;手表装 rpk(小米运动健康 -> Debug -> 第三方应用)。
- 手机 APP 打开,填服务器地址 / userId / token,点刷新。
- 手表打开 DSHWatch,确认 interconnect 连上手机(显示"已连接")。
- 手表发指令 -> 手机转发 -> 服务器 -> Harness -> 回显。
6. 常见坑
- 签名不一致:手表 rpk 与手机 APK 必须同一套证书;改了证书要重装两个端。
- 连接状态拿不到:进页面是 DISCONNECTED 是正常的,需轮询 getReadyState。
- 包名不一致:两端都是 com.dshwatch.app。
- 麦克风:MP 手环 10/10 Pro 大概率不支持应用级录音(system.record 官方表未列)。