Skip to content

v3.1.1

Choose a tag to compare

@zsw125 zsw125 released this 31 Oct 19:33
· 15 commits to main since this release

v3.1.1 — the user-selected .ko now survives app restarts.

  • App v3.1.1 (versionCode 15): the picked module is stored as custom-ko.ko + custom-ko.meta (forced flag + label) in the app-specific files dir (Android/data/o3.st.root1/files), restored in onCreate, and re-validated — a stale or failing file is deleted (unless it was forced) and the UI returns to adaptive. Long-press the module row to clear the choice and use the built-in LKMs again.
  • Payload unchanged: libo3p.so 1,496,044 B, sha256 e479e539bf812f7fe0dc18734ec6f47727fc6f650b4a8d9fd45751a9c6500a2b.
  • Hardware-verified on yingtian (2026-11-01): persistence across force-stop and cold boot; forced 6.6.000-vermagic module (CUSTOM_KO force reason=kernel_series_mismatch → KSU_INSMOD_OUT:[rc=0] → KSU_MODULE LIVE); long-press clear; adaptive cold boot (KSU_BLOB v2 tag=3 matched=1 → origin=builtin → KSU_MODULE LIVE, SukiSU manager working). The automatic fallback branch still has no hardware trigger (the relink rewrites vermagic, so the forced module loads); it remains desktop-tested.
  • APK: 14,239,248 B, sha256 a013cbffbe43036e4b7ba3a55554332ab02d23e444103bd043d9e9ef4b9289d0.
  • Requires Shizuku in shell mode (uid=2000, u:r:shell:s0); root is boot-only. Full details in docs/AGENT_HANDOFF.md.