Files
amethyst/tools
Claude 0fc57ef6be build: ship libarti_android.so past AGP's strip step
The Cargo release profile already strips this library -- readelf shows no
.symtab and no .debug_* -- so AGP's `llvm-strip --strip-unneeded` pass has
nothing to remove. It still rewrites the file: llvm-strip rebuilds .comment,
the section holding the rustc / clang / lld version stamps, which changes 273
bytes on arm64-v8a (verified by running the same command over the committed
.so). That made the packaged bytes a function of whichever llvm-strip ran, so
the library inside an APK could never be compared against the committed one
that tools/arti-build reproduces byte-for-byte.

packaging.jniLibs.keepDebugSymbols now excludes it from that step. No size
cost, since there are no symbols left to drop, and

    unzip -p app.apk lib/arm64-v8a/libarti_android.so | sha256sum

can now be checked straight against src/main/jniLibs. Dependency .so files are
still stripped, by the NDK pinned in the previous commit -- which is why that
pin stays.

Verified by reflecting the configured DSL out of the build:
:amethyst ndkVersion = 30.0.16248370, keepDebugSymbols = [**/libarti_android.so].

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ck919Y21reMU6LVrev1QJo
2026-09-18 16:58:39 +00:00
..