summaryrefslogtreecommitdiff
path: root/project_feedreader_emulator.md
diff options
context:
space:
mode:
authorClaude <noreply@anthropic.com>2026-09-24 08:57:59 +0000
committerClaude <noreply@anthropic.com>2026-09-24 08:57:59 +0000
commit344ba52bf9977f5e087938a51196dfd7a75d2fe2 (patch)
tree74d3d43ace198b105515421c740857455d01f4b6 /project_feedreader_emulator.md
parenta6d58e009efcc06e7b5221d75ebed36533786dce (diff)
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 <noreply@anthropic.com>
Diffstat (limited to 'project_feedreader_emulator.md')
-rw-r--r--project_feedreader_emulator.md14
1 files changed, 12 insertions, 2 deletions
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.