AppControlX
3.1.0 · GitHub
More about this app
Freeze, force stop, uninstall apps, change background optimization and more
AppControlX
AppControlX is a native Android app management utility built with Kotlin and Jetpack Compose.
What It Does
- Freeze/unfreeze apps
- Force stop apps
- Clear app cache/data
- Uninstall apps for current user
- Launch hidden settings and activities
- Monitor CPU, RAM, storage, battery, and device stats
- Keep action history with rollback for supported operations
Architecture (v4 Native)
- UI: Jetpack Compose + Material 3
- State: ViewModel + StateFlow
- DI: Hilt
- Persistence: DataStore + kotlinx.serialization
- Execution layer: libsu (root) and Shizuku
No WebView, React, or JavaScript bridge is used in v4.
Requirements
- Android 10+ (API 29+)
- Android SDK 34
- JDK 17
- Root (Magisk/KernelSU) or Shizuku for privileged actions
Build
./gradlew lintDebug testDebugUnitTest assembleDebug
Debug APK output:
app/build/outputs/apk/debug/
Signed Release Build
Release builds require signing environment variables. There is no debug-key fallback for release.
Required variables:
KEYSTORE_FILEKEYSTORE_PASSWORDKEY_ALIASKEY_PASSWORD
Build command:
./gradlew assembleRelease
Release APK output:
app/build/outputs/apk/release/
CI
build.ymlruns lint, unit tests, and debug APK build.release.ymlvalidates signing secrets, builds signed release APK, uploads artifact, and publishes GitHub release onv*tags.
Permissions and Network Behavior
The app requests INTERNET permission in the manifest. Core app-management and monitoring flows are local/on-device and do not rely on a remote backend service.
License
GPL-3.0
How Shizuku is used
Can freeze, force stop, uninstall, clear data and limit background activity via `pm`, `am` and `appops` commands through Shizuku.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
AppControlX uses Shizuku to run privileged app management commands that normally need shell access.
- Freeze and unfreeze apps: disable or re-enable a selected app for the main user with the
pm disable-userandpm enableshell commands through Shizuku. - Force stop apps: immediately stop a running app with the
am force-stopshell command through Shizuku. - Uninstall apps: remove a selected app while keeping its data directory with the
pm uninstallshell command through Shizuku. - Clear cache and data: erase cached files or all app data with the
pm clearshell commands through Shizuku. - Control background activity: set an app to be ignored or allowed in the background with the
appops setshell command through Shizuku. - Detect running apps: check which apps are currently running by reading
dumpsys activity processesoutput through Shizuku, used for the running status in the app list.
Android APIs or commands used
pm disable-userpm enableam force-stoppm uninstallpm clearappops setdumpsys activity processes
Changelog
What's new for version 3.1.0
Full Changelog: https://github.com/risunCode/AppControl-X/compare/v1.1.0...v3.0.0
Not tested with su/shizuku
- please give feedback or open a issue!
Known issue
- Network detection,
- some ui modal need to be polished
Permissions
4 permissions requested