Expected Difficulties
Process Timing
Zygisk loads during app specialization, while the objects you need may not exist yet. Use retryable not-ready responses.
Class Drift
Target apps rename classes, split fragments, or move behavior into shared components. Add diagnostics before adding blind fallbacks.
Stale References
Cached Java objects can point to old screens. Resolve the current live context for every real action.
ABI and Symbols
Android ABI, Rust cdylib, JNI signatures, stripped symbols, and target API changes can fail silently without explicit logging.
Root Manager Differences
KernelSU, APatch, and Magisk differ in install and lifecycle paths. Runtime logic should use MODDIR, not a hardcoded root-manager home.
Network Exposure
MCP, screenshots, dynamic tools, and app hooks are powerful. Keep them authenticated, owner-controlled, and minimally exposed.
