Skip to content

What is Priv Kit? ​

Priv Kit lets an Android app start and manage its own privileged process through Root, ADB, a shell command, or an external authorizer. Use it for Binder calls, file operations, commands, and app-defined UserServices.

Use priv-ui for the Compose authorization page, or priv-core to build your own interface.

See Getting started.

Features ​

Privilege UI ​

priv-ui handles startup, Wireless Debugging pairing, permission requests, TCP/IP confirmation, and silent startup.

priv-core for custom interfaces ​

priv-core provides the runtime and transport APIs behind Root, wireless ADB, static TCP, Manual, and app-provided external bridges. A custom interface adds its own permission prompts, pairing input, confirmations, and error presentation. See startup methods for the underlying flows.

Binder access ​

Resolve system services and forward Binder transactions. Your app supplies the service interfaces and handles errors. See Binder.

Built-in file proxy ​

The file proxy runs file operations in the server. File contents and directory entries travel through pipes.

Application-defined UserService ​

Define an AIDL interface and its privileged implementation. Priv Kit starts the UserService, manages its lifecycle, and returns its Binder.

One server per app ​

Each app owns its server and controls startup, connection, and recovery.

All startup methods use the same connection checks and report server death or connection failure.

Where to start ​

  • Follow Getting started to add priv-ui and embed the authorization page.
  • Configure the supplied foreground and silent flows in Privilege UI.
  • Read startup methods when building a custom priv-core interface.
  • Choose the file proxy for basic filesystem access, Binder for raw transactions, or UserService for an application-defined AIDL service.
  • Browse the source and report issues on GitHub.