Skip to content

Commit 331bf8f

Browse files
adipascuclaude
authored andcommitted
docs: document adb firmware sideloading on Android
The companion app takes an adb broadcast that flashes a pbz without touching the phone UI (coredevices/mobileapp PR 321). Document it next to the existing manual sideload steps. Co-authored-by: Claude Opus 5 <noreply@anthropic.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Adrian Pascu <adrian@pascu.be>
1 parent 5055310 commit 331bf8f

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

docs/development/building_fw.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,21 @@ onto your sealed watch:
4747
The resulting `.pbz` file will be located in the `build/` directory. Transfer this file
4848
to the device paired to your watch, then, in the Pebble app, enable `Settings -> Show debug options`.
4949
Go back to the Devices tab, tap your watch, then `Firmware Update Debug -> Sideload FW`, and select the `.pbz` file.
50+
51+
On Android, flashing repeatedly is better scripted over adb, which installs without asking. This route
52+
is open to an adb shell, which holds the `android.permission.DUMP` the broadcast requires,
53+
and it needs `Show debug options` on in the app. `$PBZ` is the file from `build/`:
54+
55+
```shell
56+
adb push $PBZ /data/local/tmp/firmware.pbz
57+
adb shell am broadcast -a coredevices.pebble.SIDELOAD_FIRMWARE \
58+
-n coredevices.coreapp/coredevices.pebble.firmware.FirmwareSideloadReceiver \
59+
--es path /data/local/tmp/firmware.pbz
60+
```
61+
62+
The app waits up to a minute for the watch to be connected, then starts the update and
63+
shows its progress on the watch card in the Devices tab.
64+
65+
Not every Android version lets an app read `/data/local/tmp`. If the app reports the file
66+
as missing, create `/sdcard/Android/data/coredevices.coreapp/cache` and push it there
67+
instead.

0 commit comments

Comments
 (0)