Permission Manager X: one screen for Android manifest permissions and AppOps
eXtended Permission Manager for Android - view, set, watch Manifest Permissions and AppOps
At a glance
- What is it?
- Permission Manager X shows every installed app's manifest permissions and its AppOps modes on one screen, lets you set reference states you can back up and restore, and can revoke permissions across a device without touching each app. It needs root or ADB over network, and the free version is AGPL-3.0 with a paid Pro tier.
- Who is it for?
- Adopt Permission Manager X if you want one screen to audit and change Android permissions across all installed apps, especially if you move between devices or ROMs and want a saved set of reference states to restore. Do not adopt it if you need it to work without root or without ADB over network, because the README requires one of the two.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 24 days ago.
- What is it written in?
- Mainly HTML, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Manifest permissions and AppOps on one screen
Permission Manager X is described as an eXtended Permission Manager for Android, for viewing and setting manifest permissions and AppOps. The README explains the relationship between the two, which is the part that makes the tool coherent. Manifest permissions are the ones normally called permissions, such as Storage and Camera. AppOps, app operations, is described as a robust framework Android uses at the back end for access control, and the README observes that with every Android release manifest permissions are becoming more dependent on AppOps. So the app lets you control both simultaneously and see how they relate. For each installed app, on a single screen, you can view, grant or revoke manifest permissions, view AppOps permissions and choose one of multiple modes, and set your desired reference value for every changeable permission. AppOps also gives fine-grained control over things manifest permissions do not cover, such as background execution, vibration and clipboard access.
Reference states are the feature that survives a reinstall
The workflow the README describes starts from a specific annoyance. When you reinstall an app, change your device or upgrade your ROM, it is a time-consuming process to review all installed apps for granted permissions and revoke the unnecessary ones, after all privacy matters. The solution PMX offers is reference states. You set reference states of permissions, which can be quickly backed up and restored, and colored bars at the left make it reasonably easy to review packages and permissions at a glance. That is a different design from the usual one. Most permission managers let you toggle permissions one at a time, which is fine until you want to reproduce a known-good privacy configuration on a new phone, at which point toggling one at a time becomes a chore. Reference states make the configuration a thing you can save and reapply, which is closer to how you would treat a device backup.
Root or ADB over the network, and the internet is only used twice
The Required Privileges section is explicit about what the app needs. In order for Permission Manager X to serve you at its best, either the device must be rooted or you need to enable ADB over network, and android.permission.INTERNET is required to use ADB over network. The privacy argument is then made narrowly and precisely: the only connections made outside the device are to check for app updates or to fetch help contents, and the Pro version also requires an internet connection for license verification. That is a small network surface for a tool with this much power, and it is worth understanding the mechanics rather than the claim. ADB over network is how the app shells out to change permissions and AppOps modes for other packages, and it is why a rooted device, where it can act more directly, is the better-supported path.
Supported on stock Android 7 to 17, with a ROM caveat
The Note section gives the compatibility position. The app is tested on stock Android 7-17, and some highly customized ROMs may behave unexpectedly. That range is worth reading carefully, because it spans a decade of Android versions and a lot of permission model changes along the way, so the statement is a claim about the range the app is exercised against rather than a promise that every OEM skin behaves. It also implies something about the maintenance burden. Android changes its permission and AppOps surfaces regularly, and a tool that writes to those surfaces has to be updated as they change. The release history reflects that: v1.32-pro on 2026-07-11, v1.33-pro on 2026-09-03 and v1.34-pro on 2026-09-29, with the last push on the same date as the newest tag.
A free build and a Pro build, with the licence inside the app
Distribution runs through several channels, which is the normal pattern for this kind of app. There are badges for F-Droid, Google Play, IzzyOnDroid and the Amazon AppStore, plus a Telegram support group for instant updates and beta releases, and a separate link for the Pro features. The README then states a licensing position that deserves careful reading. Permission Manager X is free software, redistributable and modifiable under the Affero General Public License version 3 or later, with the standard warranty disclaimer. But the licence section also says you cannot use and distribute the app icon in any way except for the Permission Manager X app itself, under the package name com.mirfatif.permissionmanagerx. So the code is AGPL and the artwork is not. If you are only installing it, that is irrelevant; if you are forking it, that is the line to remember.
Building it needs a Linux box and native binaries
The build instructions are short but assume a specific environment. The build.gradle calls a shell script to build native binaries, so a Linux environment is expected with all standard tools. The sequence is clone with submodules, point the build at your SDK, then assemble:
git clone --depth=1 --recurse-submodules --shallow-submodules https://github.com/mirfatif/PermissionManagerX.git && cd PermissionManagerXYou then set sdk.dir in local.properties to the directory containing the Android SDK, and run ./gradlew :app:assembleRelease, or use IntelliJ IDEA or Android Studio. The repository layout explains the native dependency: there is a native/ directory for the native binaries that the Gradle script compiles, a priv_daemon/ and priv_library/ pair for the privileged helper, a hidden_apis/ directory, and a help/ directory that holds the in-app documentation the fetch-help-contents feature serves. The fastlane/ directory carries the store metadata and the screenshots used in the listings.
The dependencies explain what the app has to work around
The third-party credits list is short and each entry answers a question about the implementation. Android Hidden APIs and LSPass, from the LSPosed project, are there because modern Android restricts access to non-public framework APIs, and the app needs those APIs to read and write permissions for other packages. LibADB Android provides the ADB client used for the ADB over network path. Material Components for Android and Guava cover the UI and collections, BetterLinkMovementMethod handles link handling in the WebView help content, and Spotless with GoogleJavaFormat is the code formatter wired into the Gradle build. LeakCanary being on the list is a good sign about the maintainer's habits, since it is a memory leak detector used during development. Translations are handled on Crowdin under the pmx project, which is what makes the help content and interface available in many languages.
Editorial conclusion
Adopt Permission Manager X if you want one screen to audit and change Android permissions across all installed apps, especially if you move between devices or ROMs and want a saved set of reference states to restore. Do not adopt it if you need it to work without root or without ADB over network, because the README requires one of the two. Before you commit, read the help pages on what PMX is and why it exists, check that your ROM is close enough to stock Android, and settle the licensing question, because the app is AGPL-3.0 and the icon may not be reused in any other app.
Frequently asked questions
What does Permission Manager X do?
It is an eXtended Permission Manager for Android that lets you view, grant or revoke manifest permissions, view AppOps permissions and choose one of multiple modes, and set a reference value for every changeable permission, for each installed app on a single screen.
Does Permission Manager X need root?
Not strictly. The README says that in order for the app to serve you at its best, either the device must be rooted or you need to enable ADB over network, and android.permission.INTERNET is required for ADB over network.
What are reference states in Permission Manager X?
They are saved permission configurations. You set reference states of permissions which can be quickly backed up and restored, which is what makes reviewing permissions after a reinstall, a device change or a ROM upgrade less tedious than toggling each one by hand.
What licence is Permission Manager X released under?
The AGPL, version 3 or later, as stated in the README's licence section, with the app icon explicitly excluded: you cannot use or distribute the app icon in any way except for the Permission Manager X app itself. The newest release is v1.34-pro from 2026-09-29.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/mirfatif-permissionmanagerx)Was this useful?