github thejaustin/ShizukuPlus v14.0.0.r2664

latest releases: r2670, r2669, v14.0.0.r2668...
3 hours ago

Shizuku+ 14.0.0 — Stable Release

First major stable release of 2026. Shizuku+ 14 is a significant milestone with a full Material 3 Expressive UI overhaul, three new Plus feature screens, the compileSdk 37 / AGP 9.4 / Gradle 9.7 build upgrade, and 30+ bug fixes. All changes since v13.6.0.


✨ New Features

  • Device Control — New home card and full Compose screen for privileged device management: toggle Wi-Fi, Bluetooth, NFC, Mobile Data, and Private DNS; control screen timeout, display density, and audio volumes; trigger graceful reboot to recovery/bootloader/fastboot; all backed by real framework operations via IDeviceControlPlus.
  • Permission Manager — New home card and screen to browse and toggle per-app runtime permissions using the privileged IPackageManager binder path, bypassing the grant-request flow entirely.
  • App Backup — OBB data included — Per-app and batch backup jobs now include the app's OBB (expansion) directory alongside internal data; restore handles OBBs in both single-app and batch flows.
  • Root-Compat Hub improvements — SU bridge now executes real framework operations instead of only mocking success: real INetworkPolicyManager per-app network restrictions (mapped from iptables --uid-owner), real SystemProperties set/read (replacing fake resetprop), and best-effort real chmod/chown. toybox/toolbox multiplexer applets now hit the same interception hooks as direct applet calls. Added stealth mode, expanded auto-grant rules, and busybox mock applets.
  • Personalization: six new theme controls — Standalone Bold Typography, Standalone Expanded Headers, Corner Rounding override (5 sizes), Follow System Animations, Follow System Haptics, and One-Handed Mode decoupled from One UI Style.

🎨 UI Overhaul

  • Material 3 Expressive headers — Home and settings screens use a real Samsung One UI–style collapsing LargeTopAppBar where the title interpolates center→start as you scroll, driven by TopAppBarState. No fake spacers or pill handles.
  • Tonal segmented cards — Home screen cards use tonal color-on-container surfaces with M3E rounded segment layout and expressive spring motion.
  • AMOLED+ extended — All six surface-container tone-scale tokens are now pinned to true black across both the XML ThemeOverlay.Black and Compose AppTheme; affects home cards, search pane, and settings search header. Applied in Permission Manager, Device Control, and System Hub screens (previously missed).
  • "Arrange Cards" edit mode polish — A "Done" button now appears in the top bar when edit mode is active; title updated to "Arrange Cards" with a shorter subtitle.

🐛 Notable Bug Fixes

Server / Service

  • Fixed crash on Android 9 (API 28): DeviceConfig.setProperty called via direct class reference; changed to reflection (Class.forName) to avoid ART pre-verifying the API 29+ class on API 28. (#527)
  • Fixed Proxy-based IPC observers (IProcessObserver, IUidObserver) replaced with real Binder subclasses — the Proxy approach broke under obfuscation with R8.
  • Fixed clearAppData silently reporting success even when the IPackageDataObserver callback returned false.
  • Fixed pipe-buffer deadlocks in backup tar streaming — added daemon drain thread on non-data stream to prevent child process blocking parent.

Manager UI

  • Fixed home screen top bar obscured by status bar on Android 17+ — Compose M3 1.4+ consumes contentWindowInsets before topBar, so WindowInsets.statusBars resolved to 0 inside the Scaffold slot. (#528)
  • Fixed crash opening Permission Manager / Device Control on Android 16+ — conflicting setDecorFitsSystemWindows calls after enableEdgeToEdge() caused inconsistent window state during Explode transition. (#529)
  • Fixed monochrome launcher icon rendering as a thin ring — replaced stroke-only path with filled silhouette. (#530)
  • Fixed Start on Boot silently re-enabling after Samsung restore — migration helper no longer overwrites an explicitly disabled boot component. (#516)
  • Fixed ADB checks always returning "not enabled" on Android 17 QPR1 (API 37) — Google redacted Settings.Global.ADB_ENABLED to 0 for third-party apps; now returns true on API 37+ unconditionally. (#508)
  • Fixed Watchdog failing to revive service while device is locked on API 35+ — routes service restart through an expedited WorkManager worker that holds the shortService foreground exemption. (#519)
  • Fixed Wireless ADB discovery without Wi-Fi — ADB port prober now probes 127.0.0.1:5555 via fast TCP socket on cellular/5G; added live loopback polling in the dialog and mDNS-blocked diagnostic banner. (#514)
  • Fixed Dev/Beta update channel getting stuck on stale prerelease — update checker now compares actual version codes and picks whichever is genuinely newer, not whichever is flagged as prerelease.
  • Fixed Shizuku.newProcess() NPE on MediaTek MT6833 and similar chipsets — all call sites now handle null explicitly. (#418)
  • Fixed authorized-apps count briefly showing "0" on cold start — HomeState.grantedAppCount starts as null (loading) instead of 0. (#424)
  • Fixed 4 home cards with no tap press animation (Automation, Shizuku Companion, Start Stock Shizuku, ADB Permission Limited). (#450)
  • Fixed AMOLED grey search menu / settings surfaces on high-contrast OLED panels. (#496)
  • Fixed settings scroll collapse/expand restoring conditionally-hidden preference items. Fixed fast double-tap flipping collapse arrow mid-animation.
  • Fixed app icon plus-badge invisible on real devices — repositioned to fit inside adaptive-icon safe zone verified against circular-mask simulation.
  • Fixed Shadow Binder getPackageUid() returning UID 0 for hidden packages instead of -1. (#444)

Security / Hardening

  • Added package-name validation ([a-zA-Z]-dotted-segments whitelist) on every run-as-backed data path in BackupRestorePlus and StorageProxy — prevents a caller from targeting arbitrary debuggable apps' private data.
  • Removed edl (Emergency Download Mode) from the DeviceControlPlus.reboot() whitelist — bricking foot-gun across an untrusted Binder boundary.

🌍 Localization

  • Ukrainian (uk): 100% — all manager strings translated; compat and core/ui modules included.
  • Brazilian Portuguese (pt-rBR): 100% — all manager strings translated; XML well-formedness fix for <br> in CDATA context.
  • Extracted all remaining hardcoded strings from settings XML screens; all UI text now fully localizable.

⚙️ Build & Infrastructure

  • AGP 9.4.0 / Gradle 9.7.1 — Requires AGP 9.1.0+ for Compose BOM 2026.08.00 (Compose 1.12.0).
  • compileSdk 37 / targetSdk 36 / buildToolsVersion 36.0.0 across all modules — all three library modules that overrode root settings (database, core/ui, app-process) updated.
  • Compose BOM 2026.08.00 → Material3 1.4.0 stable — removed all @InternalComposeApi M3E APIs (MotionScheme, ExperimentalMaterial3ExpressiveApi) replaced with stable equivalents.
  • R8 strict mode fixes — Added -dontwarn for android.hardware.fingerprint.** (removed from compileSdk 37 stub; biometric compat guards it at runtime) and androidx.window.extensions.**/sidecar.** (OEM runtime interfaces, not in framework stub).
  • Full on-device APK builds work on ARM64 PRoot (Termux) — custom cmake wrapper + NDK toolchain stub; arm64-v8a only; no CI round-trip needed for debug builds.

🧹 Code Quality

  • Dead-code cleanup (PR #507) — removed unused layouts, menus, animators, classes, imports, and version catalog entries.
  • Consolidated all exec/process helpers into ShellExecutor; removed multiple duplicate implementations.
  • Accessibility: contentDescription added to all interactive icon-only buttons; vector viewport values normalized.

📦 Downloads

APK Description
Shizuku+-v14.0.0.r2664.apk Standard Shizuku+ (recommended for most users)
Shizuku+-Drop-In-v14.0.0.r2664.apk Drop-in replacement flavor (matches upstream Shizuku package name)

Full Changelog · CHANGELOG.md

Don't miss a new ShizukuPlus release

NewReleases is sending notifications on new releases.