A powerful Android application for controlling app behavior, system monitoring, and device management — using Root or Shizuku.
Complete rewrite with modern architecture and new features:
- Dashboard - Real-time system monitoring (CPU, RAM, Battery, Storage, Network, GPU)
- Setup Wizard - Guided first-time setup with mode selection
- Mode Loss Detection - Automatic detection when Root/Shizuku access is lost
- Display Refresh Rate Control - Set min/max refresh rate
- Clean Architecture - MVVM + Hilt DI with organized package structure
Real-time system monitoring with DevCheck-style cards:
- CPU - Usage percentage, temperature, core count
- Battery - Level, charging status, temperature, health
- RAM - Used, free, total memory
- Storage - Internal storage usage
- Network - Connection type, status, WiFi SSID
- Display - Resolution, refresh rate
- GPU - Model and vendor (requires root)
- Device - Brand, model, Android version, uptime
- Freeze/Unfreeze - Disable apps without uninstalling (keeps data intact)
- Uninstall - Remove apps for current user while preserving data
- Force Stop - Immediately terminate running applications
- Clear Cache/Data - Clean app storage with size preview
- Batch Operations - Apply actions to multiple apps with progress tracking
- Restrict Background - Block apps from running in background
- Allow Background - Permit background execution
- Real-time Status - View current background restriction status per app
- Multiple AppOps - RUN_IN_BACKGROUND, RUN_ANY_IN_BACKGROUND, WAKE_LOCK, BOOT_COMPLETED
- Refresh Rate Control - Set minimum and maximum refresh rate
- Reset to Default - Restore system default settings
- Requires Root or Shizuku
- Action History - Track all operations with timestamps
- Rollback - Reverse battery actions (Freeze/Unfreeze, Restrict/Allow)
- State Snapshots - Automatic backup before actions
- Material 3 Design - Modern interface with dynamic colors (Android 12+)
- Dark Mode - Full dark theme support
- Bottom Navigation - Dashboard, Apps, Settings
- Search & Filter - Quick app discovery by name, package, or status
| Setup | Main | App Info | Batch | Activity Launcher |
|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
| Tools | Settings | About | Blocklist |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
- Android 10+ (API 29) - Stock, AOSP, Custom ROMs
SafetyValidator blocks critical system packages from being disabled/frozen to prevent bricking. Covers AOSP, Google, Xiaomi, Samsung, OPPO, Vivo, Huawei, OnePlus, Nothing, ASUS, Sony, Motorola, and more.
- Android 10+ (API 29)
- One of the following:
- Root access (Magisk/KernelSU recommended)
- Shizuku installed and activated (full features, no root needed)
These features work in View-Only mode:
- Dashboard - System monitoring (limited GPU info)
- App List - Browse installed apps
- Settings - Theme and preferences
- Download the latest APK from Releases
- Install on your device
- Complete the setup wizard
git clone https://github.com/risunCode/AppControl-X.git
cd AppControl-X
./gradlew assembleDebug| Component | Description |
|---|---|
PermissionBridge |
Detects execution mode (Root/Shizuku/None) |
RootExecutor |
Executes commands via libsu with security validation |
ShizukuExecutor |
Executes commands via Shizuku UserService |
SystemMonitor |
Real-time system info (CPU, RAM, Battery, etc.) |
AppScanner |
Accurate app detection using dumpsys + PackageManager |
AppControlManager |
App actions (freeze, uninstall, force stop, etc.) |
BatteryManager |
Background restriction via appops |
ActionLogger |
Action history and rollback |
SafetyValidator |
Prevents actions on critical system apps |
ModeWatcher |
Detects Root/Shizuku access loss |
| Technology | Version | Purpose |
|---|---|---|
| Kotlin | 1.9 | Primary language |
| Min SDK | 29 (Android 10) | Minimum supported |
| Target SDK | 34 (Android 14) | Target version |
| aApps/Shizuku) - Elevated API access |
- Built with Kiro AI Assistant rate settings delete system min_refresh_rate # Reset to default
## Changelog
See [CHANGELOG.md](CHANGELOG.md) for full history.
## Contributing
1. Fork the repository
2. Create a feature branch
3. Commit your changes
4. Push and open a Pull Request
## License
GPL-3.0 License - see [LICENSE](LICENSE)
## Credits
Made with ❤️ by [risunCode](https://github.com/risunCode)
### Acknowledgments
- [libsu](https://github.com/topjohnwu/libsu) - Root shell library
- [Shizuku](https://github.com/RikkBOOT_COMPLETED ignore # Disable boot receiver
settings put system min_refresh_rate <hz> # Set min refresh rate
settings put system peak_refresh_rate <hz> # Set max refreshe <package> # Unfreeze
pm uninstall -k --user 0 <package> # Uninstall
am force-stop <package> # Force stop
pm clear --cache-only <package> # Clear cache
pm clear <package> # Clear data
```lin | 1.9 | Primary language |
| Min SDK | 29 (Android 10) | Minimum supported |
| Target SDK | 34 (Android 14) | Target version |
| Hilt | 2.50 | Dependency Injection |
| libsu | 5.2.2 | Root access |
| Shizuku | 13.1.5 | Non-root privileged access |
| Navigation | 2.7.6 | Fragment navigation |
| Coroutines | 1.7.3 | Async operations |
| Material 3 | 1.11.0 | UI components |
## Commands Reference
### App Control
```bash
pm disable-user --user 0 <package> # Freeze
pm enable <package> # Unfreeze
pm uninstall -k --user 0 <package> # Uninstall
am force-stop <package> # Force stop
pm clear --cache-only <package> # Clear cache
pm clear <package> # Clear dataappops set <package> RUN_IN_BACKGROUND ignore # Restrict
appops set <package> RUN_ANY_IN_BACKGROUND ignore # Restrict (extended)
appops set <package> WAKE_LOCK ignore # Disable wake lock
appops set <package> BOOT_COMPLETED ignore # Disable boot receiversettings put system min_refresh_rate <hz> # Set min refresh rate
settings put system peak_refresh_rate <hz> # Set max refresh rate
settings delete system min_refresh_rate # Reset to defaultSee CHANGELOG.md for full history.
- Fork the repository
- Create a feature branch
- Commit your changes
- Push and open a Pull Request
GPL-3.0 License - see LICENSE
Made with ❤️ by risunCode








