Zorin Native Lab v2.0 architecture
ZORIN NATIVE LAB NativeActivity / NO DEX | backend discovery + comparison | +-----------------------+-----------------------+ | | | APP SANDBOX ADB SHELL CORE v3 SYSTEM CORE v2 untrusted_app shell UID 2000 Rust / Stable-shaped AIDL app seccomp token-auth loopback dedicated SELinux domain direct NDK Binder validated probes Binder caller identity | | | +-----------------------+-----------------------+ | COPY ALL reportBackend priority
Section titled “Backend priority”SYSTEM DEVICE CORE > authenticated ADB SHELL CORE > APP SANDBOX.
Why keep three layers
Section titled “Why keep three layers”The point is not to fake system access from an APK. The same diagnostic is observed under distinct Android identities so the report can attribute a boundary to app seccomp, SELinux/service-manager policy, shell policy or the platform service itself.
v2 comparison model
Section titled “v2 comparison model”The app and shell bridge use one 36-name Binder service vocabulary. The shell bridge additionally runs validated low-level probes in disposable children. This makes the diagnostic useful for differential analysis instead of accumulating invalid-argument errno values.
Long-term System Core
Section titled “Long-term System Core”The custom-AOSP backend remains the place for genuinely platform-only providers: bounded global process/network state, system events, KeyMint integration, eBPF telemetry, HAL experiments and AVF/Microdroid work. It is intentionally separate from the localhost bridge.