Files

2.3 KiB
Raw Permalink Blame History

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. 安装与联调

  1. 手机安装 APK;手表装 rpk(小米运动健康 -> Debug -> 第三方应用)。
  2. 手机 APP 打开,填服务器地址 / userId / token,点刷新。
  3. 手表打开 DSHWatch,确认 interconnect 连上手机(显示"已连接")。
  4. 手表发指令 -> 手机转发 -> 服务器 -> Harness -> 回显。

6. 常见坑

  • 签名不一致:手表 rpk 与手机 APK 必须同一套证书;改了证书要重装两个端。
  • 连接状态拿不到:进页面是 DISCONNECTED 是正常的,需轮询 getReadyState。
  • 包名不一致:两端都是 com.dshwatch.app。
  • 麦克风:MP 手环 10/10 Pro 大概率不支持应用级录音(system.record 官方表未列)。