From 344ba52bf9977f5e087938a51196dfd7a75d2fe2 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 24 Sep 2026 08:57:59 +0000 Subject: tungsten: memories from the Listen build session Adds the feedback and project memories written while building Listen, podkit and the devtools wrappers, and updates the FeeDreader entries. Uncommitted since August; committing before merging Fedora's tree so neither side is lost. Co-Authored-By: Claude Opus 5 --- project_feedreader_emulator.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'project_feedreader_emulator.md') diff --git a/project_feedreader_emulator.md b/project_feedreader_emulator.md index 6b11e78..11a5c5f 100644 --- a/project_feedreader_emulator.md +++ b/project_feedreader_emulator.md @@ -1,13 +1,21 @@ --- name: project-feedreader-emulator -description: "Android emulator set up on tungsten for direct testing of the feedreader (\"Feeds\") app instead of relying only on Peter's phone" +description: "Android emulator on tungsten for direct testing of the feedreader app — use the API 36 AVD; the API 34 one was deleted 2026-09-18" metadata: node_type: memory type: project originSessionId: 375c858e-e817-41e8-a076-7920d22eab2b --- -An Android emulator is provisioned on tungsten (the doot/feedreader host) for testing the "Feeds" app directly: AVD name `feedreader_test`, API 34, google_apis, x86_64, pixel_6 profile. Launch headless: `-no-window -no-audio -no-boot-anim -gpu swiftshader_indirect`. KVM-accelerated (host has `/dev/kvm` + AMD SVM). Controlled via `adb shell input tap/swipe`, `adb shell screencap`, and `adb shell uiautomator dump` for exact element bounds (more reliable than estimating tap coordinates from screenshots). +An Android emulator is provisioned on tungsten (the doot/feedreader host) for testing the "Feeds" app directly. + +**Current AVD: `doot_test_api36` (API 36, google_apis, x86_64)** — use this one. The old +`feedreader_test` AVD (API 34) and the entire `system-images/android-34` package were +deleted 2026-09-18 at Peter's request, after the half-finished `minSdk 36` upgrade in the +feedreader working tree made API 34 refuse the install and sent me down a wrong path. Do not +recreate an API 34 AVD without asking. Note `platforms/android-34` is deliberately still +installed — nav compiles against `compileSdk 34` and needs it; the *platform* and the +*system image* are different things. Launch headless: `-no-window -no-audio -no-boot-anim -gpu swiftshader_indirect`. KVM-accelerated (host has `/dev/kvm` + AMD SVM). Controlled via `adb shell input tap/swipe`, `adb shell screencap`, and `adb shell uiautomator dump` for exact element bounds (more reliable than estimating tap coordinates from screenshots). **Why:** Peter suggested this ("since you're on tungsten you should have enough resources to install an emulator") after a hard-to-reproduce "crash loop" bug report — sideload-to-phone-and-wait-for-feedback cycles were too slow for debugging. With the emulator, a real crash (WebView touched off the main thread during Readability-extraction cancellation) was reproduced directly via scripted rapid-swiping through articles, root-caused from an actual stack trace, and verified fixed under a heavier stress test — instead of guessing from code review alone. @@ -24,3 +32,5 @@ succeed fully, or succeed with less content (some page sections render in via cl some time after `onPageFinished`, racing against when our extraction script runs) across back-to-back identical attempts with zero code changes in between. Retry 2-3 times (waiting the full ~20-30s) before concluding a code change broke extraction. + +See [[project_feedreader_apk_publishing]] for the `am start` vs `monkey` trap when checking whether a launch actually succeeded. -- cgit v1.2.3