Converting a user app to a system app on Android means moving an app you installed into the read-only system partition so it behaves like a preinstalled app. This is done by copying the APK to /system/app or /system/priv-app and setting the correct permissions, which requires root access. Below is a full guide covering the methods, risks, and alternatives.
What Does “System App” Mean?
On Android, apps are classified by where they are installed:
- User apps – installed by the user into /data/app; they can be uninstalled, cleared, or moved to external storage.
- System apps – reside in the read-only /system partition (or /product, /vendor) and are considered part of the firmware. They cannot be uninstalled by the user, only disabled or force-stopped.
- Privileged apps – a subset of system apps in /system/priv-app that hold special permissions (e.g., signature|privileged) not available to normal apps. Examples include the Settings app or Phone app.
Converting a user app to a system app is often done to give it special privileges, prevent it from being killed by aggressive memory management, or make it survive a factory reset (since the system partition is not wiped).
Why Convert a User App to a System App?
There are a few practical reasons:
- Prevent force-stop by the OS: Some OEMs aggressively kill background apps. System apps are less likely to be killed.
- Grant privileged permissions: Apps like AdGuard or Greenify may require privileged mode to function fully (e.g., to write system settings or read notifications).
- Keep the app after factory reset: Since /system is not wiped, the app remains after a factory reset.
- Free up /data space: Moving an APK to /system frees space in the user data partition (though the system partition must have room).
However, this is not a supported operation on stock Android and requires root access. It also carries risks such as boot loops or instability if done incorrectly.
Prerequisites and Risks
Before you start, understand what is needed and what could go wrong:
- Root access: You must be rooted (Magisk or SuperSU) to write to /system. Without root, this is impossible.
- Unlocked bootloader: Rooting usually requires an unlocked bootloader, which voids warranty and can trigger SafetyNet issues.
- Backup: Always make a full backup (Nandroid) before modifying /system.
- Boot loop risk: A misnamed file or wrong permissions can prevent the system from booting. Keep a recovery mode (TWRP) to restore.
- OTA updates: System apps can break OTA updates because the system partition is modified. You may need to revert to stock to receive updates.
- App updates: Once a user app becomes a system app, you cannot update it from the Play Store normally. You must replace the APK in /system or use a module like Magisk’s systemless approach.
Method 1: Manual Copy to /system (Traditional)
This is the classic method, done via a root file manager or ADB. Steps:
- Enable USB debugging and connect your phone to a PC. Or use a root file manager like Solid Explorer or MiXplorer.
- Locate the APK. For a user app, the APK is usually in /data/app/
/base.apk. You can also extract it from the Play Store using an APK extractor app. - Remount /system as writable. In a terminal (ADB shell or Termux) run:
suthenmount -o rw,remount /system(or/on newer devices). - Copy the APK. Copy the base.apk to /system/app/
/ .apk (for a normal system app) or /system/priv-app/ / .apk (for a privileged app). The folder name should match the app’s package name or a friendly name. - Set permissions. The APK must have 644 (rw-r–r–). In a terminal:
chmod 644 /system/app/YourApp/YourApp.apk. - Reboot. Reboot the device. The app will now appear as a system app.
If you get a boot loop, boot into recovery and restore your backup or delete the copied file.
Method 2: Using Magisk Modules (Systemless)
Magisk allows you to make an app a system app without actually modifying /system, by using a module that overlays the system partition at boot. This is safer and easier to revert. Steps:
- Create a Magisk module. Use the Magisk Module Template or an app like Magisk Manager to create a module. The module should contain a folder structure like:
system/app/YourApp/YourApp.apk(orsystem/priv-app). - Place the APK in the module’s system folder.
- Flash the module via Magisk Manager (Modules > Install from storage).
- Reboot. The app will appear as a system app, but /system itself is untouched.
This method is recommended because it survives OTA updates (Magisk re-applies modules after update) and is easy to remove by disabling the module.
Common Problems and Fixes
- App not appearing as system app: Ensure the APK is in the correct folder and permissions are 644. Also check that the folder name matches the package name (e.g., com.example.app).
- Boot loop: Usually due to wrong permissions or incompatible APK. Boot to recovery and delete the copied file or restore backup.
- App crashes after conversion: Some apps rely on being in /data; they may store data there. Clearing the app data may help. If not, revert.
- Can’t uninstall: System apps cannot be uninstalled normally. To remove, delete the APK from /system and reboot (with root).
- Play Store updates fail: The Play Store sees the app as a system app and may not offer updates. You can manually replace the APK in /system, or use a Magisk module to update.
- OTA updates fail: Modified /system causes OTA checksum failures. Revert to stock /system (or use Magisk’s systemless modules) to receive updates.
Alternatives to Converting
If your goal is just to keep an app in memory or grant it special permissions, there are safer alternatives:
- Disable battery optimization: In Settings > Battery, set the app to “Unrestricted” to prevent background killing.
- Use “Don’t kill my app” app: Some apps (like the one with that name) can help you set the right OEM settings to keep apps alive.
- Use ADB to grant permissions: Some privileged permissions can be granted via ADB commands without root, e.g.,
adb shell pm grant com.example android.permission.WRITE_SECURE_SETTINGS. - Use Shizuku: Shizuku lets apps use system APIs without root, by running a service via ADB. It’s a popular alternative for apps like App Ops or Tap, Tap.
Frequently Asked Questions
Do I need root to convert an app to a system app?
Yes, you need root access to write to the /system partition. Without root, you cannot modify system files.
Will converting an app to a system app survive a factory reset?
Yes, because /system is not wiped during a factory reset. The app will remain, but its data in /data will be cleared.
Can I convert an app back to a user app?
Yes, you can delete the APK from /system and reboot. The app will be removed entirely, so you would need to reinstall it from the Play Store.
Will converting an app to a system app improve battery life?
Not necessarily. It may prevent the app from being killed, which could actually increase battery usage if the app runs in the background constantly. It only helps if the app needs to run persistently.
Is it safe to convert any app to a system app?
No. Some apps are not designed to run as system apps and may crash or cause instability. Always backup and test one app at a time.
Can I convert an app to a system app without a PC?
Yes, you can use a root file manager like MiXplorer to copy the APK and set permissions directly on the phone.
Related
General steps for current mainstream versions; menus can differ by device and version. See the disclaimer or report an error.
More in this bed
- Fix Missing Scroll Bar in Chrome
- Fix Sony Vegas Crashing on Windows 10
- Fix Outlook Sent Items Missing? Quick Solutions
- Fix Google Maps Timeline Not Working on iPhone & Android
- How to Find Hidden Apps on iPhone (Unhide Guide)
- Hide WhatsApp Channel: Android & iOS Guide