Repository navigation
Commit 827dd0b
committed
dist-apk: declare the adb-run runner; one real run, blocked twice
`[target.x86_64-linux-android] runner = ["adb-run"]`, so `mcpp run
--format apk` hands the packed apk to xim:android-platform-tools'
adb-run session (#622 A10/C3).
Attempted end to end (/dev/kvm present, xim:android-emulator 37.1.11
+ xim:android-system-image@24-default-x86_64 booted to
sys.boot_completed=1 in ~15s, KVM-accelerated -- the emulator SIGSEGVs
at startup, NULL this-pointer at offset 0x98, unless ANDROID_SDK_ROOT
points at a directory holding `emulator/` and `platform-tools/` as
siblings; the two xim packages install to independent directories, so
this member's own future adb-run wiring, or its caller, has to
construct that layout itself -- recorded here since it cost most of
this measurement's time budget).
`mcpp run --format apk` itself is blocked, and not by this member:
Running `adb-run … target/.build-mcpp/out/dist-apk/base.apk`
...
adb: failed to install .../base.apk: Failure
[INSTALL_PARSE_FAILED_NO_CERTIFICATES: ... Attempt to get
length of null array]
`mcpp run --format <name>`'s own operand selection is `artifacts.
front()` (2026-09-12 design record, A10) over every `role = "artifact"`
action a request's provider submits -- correct for every existing
member (`dist-appimage`/`dist-wix`/`dist-apple`), which each submit
exactly one. This member submits five (`apk:manifest`/`link`/`libs`/
`align`/`sign`), and `.front()` is the FIRST one submitted,
`apk:link`'s own `base.apk` -- unsigned, uninstallable -- not
`apk:sign`'s final, signed `apk-consumer.apk`. An engine-side fix
(reporting the LAST artifact action, or an explicit "this one is the
distributable" marker) is out of this repository's scope; recorded
here because it blocks `mcpp run --format apk` for every project this
member serves, not only this fixture.
Side-stepping it by hand (`adb install` + `am start` on the correctly
signed `apk-consumer.apk` directly) installs and launches, then
crashes:
java.lang.UnsatisfiedLinkError: Unable to load native library
".../lib/x86_64/libapk-consumer.so": undefined symbol:
ANativeActivity_onCreate
This fixture's `main.cpp` is a plain C++ `main` (by design -- the
fixture asserts packaging, not execution: see its own header), not a
real `ANativeActivity_onCreate` export, so no run of "1-2-3" through
`log.redirect-stdio` was observed. Packaging itself is unaffected and
re-verified with mcpp-fix2: `apksigner verify` still reports `CN=
Android Debug`, `jar tf` lists `lib/x86_64/libapk-consumer.so`,
`lib/x86_64/libc++_shared.so` and `assets/mcpp-run.json`, and `aapt2
dump badging` reports `minSdkVersion:'24'`.1 parent 8e511f5 commit 827dd0b
1 file changed
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
0 commit comments