Skip to content

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:

FunctionPurpose
getInstalledApplicationsList all installed apps (bypasses Android 11+ package visibility restrictions)
createPackageInstallerSessionInstall patched APKs via com.android.shell system Installer without prompts
uninstallPackageOne-click uninstall of original or patched apps
forceStopPackageForce stop selected app from the Manage tab
performDexOptModeTrigger dex optimization for patched apps
clearApplicationUserData / setApplicationEnabledSettingAdvanced management operations
isPackageInstalledWithoutPatchDetect 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

  1. Download and install Shizuku from HSSkyBoy/Shizuku
  2. Start the Shizuku service via ADB or Root
  3. 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
  4. 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:

PermissionPurpose
Storage accessSelect local APK files for patching and save output to external storage
Read app listRead 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:

jarManager
Runs onPC (Java)Android device
Best forBatch patching, automation, CIPersonal use, daily patching (recommended)
Dynamic scope managementNo (manual config editing)Yes, graphical
Installing patched APKsManualBuilt-in (smoother with Shizuku)
Patching capabilitiesFull CLI optionsCorresponding GUI options

Both use the same underlying top.nkbe.npatch.patch.NPatch logic — just different entry points.

NPatch Official Documentation