From 9d4b41da7fb337ec71746acb33705dac5af20d0b Mon Sep 17 00:00:00 2001 From: mrambossek Date: Thu, 30 Jul 2026 15:43:32 +0200 Subject: [PATCH] CLAUDE.md: device-testing lessons for future sessions; ignore web/.wrangler The wireless-adb findings, report-collection workflow, build-number convention, per-device Shizuku matrix, and the JDK constraint now live in the repo so a session on any machine starts with them. Co-Authored-By: Claude Opus 5 --- .gitignore | 3 +++ CLAUDE.md | 17 +++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/.gitignore b/.gitignore index f659252..b67a25b 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,6 @@ keystore.properties # Claude Code: settings.json is shared, per-machine overrides are not .claude/settings.local.json + +# wrangler build/dev artifacts +web/.wrangler/ diff --git a/CLAUDE.md b/CLAUDE.md index 2c15441..b42d1c6 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -59,6 +59,23 @@ From `echolot-prober/`: `./gradlew :app:assembleDebug` (needs local Android SDK; `echolot-prober/local.properties`). The Gradle build is rooted there, not at the repo root. First build downloads AGP/Compose/Shizuku from Google Maven + Maven Central. +## Working with test devices (hard-won lessons) + +- **Prefer USB for adb.** Wireless debugging dies constantly: probe runs churn the wifi the + debug link rides on, the Lenovo tablet's ZUI power management kills the listener anyway, and + the port rotates on every restart. Deploys over wireless work between runs; never drive a + probe run over adb. +- Collection loop that works: install over adb → the **user** runs the probes and exports the + JSON manually → archive it under `echolot-prober/reports/` and record findings in + `docs/build-status.md`. +- Bump `versionCode` on every deployed prober change — it shows on screen and as `proberBuild` + in the report; that's how a report is matched to a build. +- Known devices: OnePlus 15 (CPH2747, A16) — Shizuku UserService works; + Lenovo TB330FU (A15, multi-user) — UserService never binds, the `newProcess` fallback carries + it. Full history in build-status.md. +- Gradle needs JDK 17–21 (`JAVA_HOME`); a system JDK 25 breaks AGP 8.7. On machines with + Android Studio, its `jbr` directory works. + ## Likely next steps 1. Run on physical devices; collect JSON reports across Android versions/vendors.