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
IPackageManagerbinder 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
INetworkPolicyManagerper-app network restrictions (mapped fromiptables --uid-owner), realSystemPropertiesset/read (replacing fakeresetprop), and best-effort realchmod/chown.toybox/toolboxmultiplexer applets now hit the same interception hooks as direct applet calls. Added stealth mode, expanded auto-grant rules, andbusyboxmock 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
LargeTopAppBarwhere the title interpolates center→start as you scroll, driven byTopAppBarState. 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.Blackand ComposeAppTheme; 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.setPropertycalled 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
clearAppDatasilently reporting success even when theIPackageDataObservercallback returnedfalse. - 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
contentWindowInsetsbeforetopBar, soWindowInsets.statusBarsresolved to 0 inside the Scaffold slot. (#528) - Fixed crash opening Permission Manager / Device Control on Android 16+ — conflicting
setDecorFitsSystemWindowscalls afterenableEdgeToEdge()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_ENABLEDto 0 for third-party apps; now returnstrueon 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
shortServiceforeground exemption. (#519) - Fixed Wireless ADB discovery without Wi-Fi — ADB port prober now probes
127.0.0.1:5555via 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.grantedAppCountstarts asnull(loading) instead of0. (#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 everyrun-as-backed data path inBackupRestorePlusandStorageProxy— prevents a caller from targeting arbitrary debuggable apps' private data. - Removed
edl(Emergency Download Mode) from theDeviceControlPlus.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
@InternalComposeApiM3E APIs (MotionScheme,ExperimentalMaterial3ExpressiveApi) replaced with stable equivalents. - R8 strict mode fixes — Added
-dontwarnforandroid.hardware.fingerprint.**(removed from compileSdk 37 stub; biometric compat guards it at runtime) andandroidx.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:
contentDescriptionadded 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) |