Manager & Shizuku
NPatch Manager (package top.nkbe.npatch) is the on-device GUI and the recommended way to use NPatch. It manages Local mode patched apps, module scopes, and performs patches directly on the device. In Local mode, patched apps query the Manager for module lists and scope configuration at runtime — this process does not require Shizuku.
What the Manager Does
Patching Apps
Don't want to use the command line? The Manager wraps the full jar capability in a GUI:
- Select APKs from storage or from the installed app list
- Pick installed Xposed modules to embed
- Switch between Local / Integrated mode
- Advanced options: debuggable, signature bypass 0–4, new package name, version code override, file picker injection, loader Dex injection, force MicroG, Media logs
- Switch between built-in NPatch / FPA keystores, or use a custom BKS keystore
- Custom output storage directory
Managing Local Mode Apps
Open the Manage tab to see all apps patched with Local mode. For each app you can:
- Module scope — Check installed Xposed modules into the app's scope; changes take effect immediately without re-patching
- Update loader — Upgrade the Loader inside an older patched app to the current Manager version
- Optimize — Trigger system dexopt (requires Shizuku)
- Force stop — Kill the app so the next launch picks up new settings (requires Shizuku)
- Uninstall — Remove the patched app directly from the Manager (requires Shizuku)
- App info — Jump to system settings app details
- Package conflict detection — If the app is actually managed by a different Manager, a prompt is shown; you need to re-patch to switch back
Module Repository
Built-in module repository page for browsing, searching, and downloading Xposed modules (backed by GitHub Releases). Sort, filter, read READMEs, view version history and authors. Downloaded modules can be used with --embed or added to scope.
Settings
- Theme mode (follow system / light / dark)
- Monet dynamic color (Android 12+)
- Built-in theme colors (blue/green/purple/orange/cyan/mint/pink/peach/ice-blue/rose)
- Custom background image
- Floating tab bar (full effect on Android 13+), liquid glass bar (blur, vivid, lens & highlight)
- Verbose packaging logs
- Re-run welcome and permission walkthrough
What is Shizuku?
Optional extension: Shizuku
Shizuku is purely optional. NPatch core functionality works without it.
Shizuku lets regular apps access certain system APIs via ADB or Root. NPatch uses it to call operations that normally require Root.
What NPatch Uses Shizuku For
Based on actual calls in nkbe/util/ShizukuApi.kt:
| Function | Purpose |
|---|---|
getInstalledApplications | List all installed apps (bypasses Android 11+ package visibility restrictions) |
createPackageInstallerSession | Install patched APKs via com.android.shell system Installer without prompts |
uninstallPackage | One-click uninstall of original or patched apps |
forceStopPackage | Force stop selected app from the Manage tab |
performDexOptMode | Trigger dex optimization for patched apps |
clearApplicationUserData / setApplicationEnabledSetting | Advanced management operations |
isPackageInstalledWithoutPatch | Detect non-patched versions with the same package name for conflict detection |
Without Shizuku
NPatch core patching, module loading, and basic management do not depend on Shizuku:
- ✅ Patching apps with jar on PC — does not need Shizuku
- ✅ Selecting and patching APKs in Manager — does not need Shizuku
- ✅ Running patched apps and loading modules — does not need Shizuku
- ✅ Managing module scope and updating loader in Manager — does not need Shizuku
- ✅ Local mode dynamic module loading — does not need Shizuku
- ⚠️ Installing patches, uninstalling, force stopping, optimizing via Manager — needs Shizuku (otherwise falls back to system UI)
- ⚠️ Listing apps restricted by Android 11+ package visibility — needs Shizuku (otherwise only sees apps declared in queries)
In short: Shizuku only adds convenience features. Without it you can still patch apps and run modules — some operations just require an extra step through the system UI.
How to Enable
- Download and install Shizuku from HSSkyBoy/Shizuku
- Start the Shizuku service via ADB or Root
- Open NPatch Manager, go to the "Optional Extensions" card in the welcome flow or the Shizuku status prompt on the main screen, and grant authorization
- Once authorized, status shows "Shizuku service available" with the current API version
When not connected, the Manager shows "Shizuku service not connected / some extended features unavailable" but won't block you from patching. The "Optimize", "Force stop", and "Install/Uninstall" buttons will either open system UI or have no response.
Permissions
On first launch, the Manager walks through a welcome flow requesting two permissions:
| Permission | Purpose |
|---|---|
| Storage access | Select local APK files for patching and save output to external storage |
| Read app list | Read installed apps for accurate patch target selection (Android 11+ package visibility) |
You'll also be asked whether to authorize Shizuku — this is optional and skipping it doesn't affect core functionality.
Manager vs jar
Each approach has its strengths:
| jar | Manager | |
|---|---|---|
| Runs on | PC (Java) | Android device |
| Best for | Batch patching, automation, CI | Personal use, daily patching (recommended) |
| Dynamic scope management | No (manual config editing) | Yes, graphical |
| Installing patched APKs | Manual | Built-in (smoother with Shizuku) |
| Patching capabilities | Full CLI options | Corresponding GUI options |
Both use the same underlying top.nkbe.npatch.patch.NPatch logic — just different entry points.