Verified on Pixel 7 Pro: solid purple frame, 'rendered 60 frames'
logcat line every second. End-to-end exercise of the new
sx-build → libsxhello.so → APK toolchain shipped today: NDK clang
link + native_app_glue bundling + aapt2/zipalign/apksigner pipeline +
isExportedEntryName so android_main lands in .dynsym.
Notes the source captures so future Android work doesn't repeat the
debugging:
- android_app field offsets for arm64 NDK 29 (window @ 72,
destroyRequested @ 100, source process fn-ptr @ 16).
- ALooper_pollOnce(-1, ...) blows the stack inside Looper::pollOnce
on this device/OS combo; ALooper_pollOnce(0, ...) is fine. We
drive the event loop non-blocking and sleep 16ms.
Outside the regression set on purpose (no tests/expected/99-*.txt) —
same convention as 63-metal-clear.sx. Build instructions live in the
file's leading comment.