feat(android): link native declarations to static JNI candidates (#7472)

Link original DEX native declarations to per-ABI function exports and relocated static JNI table candidates through shared CLI/MCP workflows. Preserve global attribution ambiguity, exact provenance, partial coverage and retained Evidence; default MCP delivery to bounded summaries with filtered/batch pages.

Use one immutable ELF relocation decoder with streaming IL2CPP materialization, cooperative bounded export/version parsing and bounded JNI state. Reuse validated session inventories without loading target libraries or executing JNI code.

Validation: relevant type/lint/build and parser/domain/public CLI/MCP regressions; genuine four-ABI NDK fixtures and independent library/slot oracles; actual JDK/JADX Conscrypt workflows with retained-source removal. Full measurements and limitations are recorded in docs/verification/android-jni-bindings-2026-10-27.md.

Closes #6403.
This commit is contained in:
gensokyo-dev authored and GitHub committed 2026-10-27 18:53:22 +08:00
1 parent 740c0f5615
commit 570abe95f2
60 files changed
+8414 -330

No files matched your search

@@ -67,7 +67,10 @@ export class AndroidAnalysisService {
limitations: execution.limitations,
locations: execution.locations,
confidence:
operation === "inspect_android_method" ? "derived" : "observed",
operation === "inspect_android_method" ||
operation === "inspect_android_jni_bindings"
? "derived"
: "observed",
},
),
options?.signal,