Have you ever wondered why some applications on Android cannot be deleted or disabled? These system applicationsare integrated into the device firmware at the operating system level. They receive enhanced rights, are automatically updated via OTA and are not affected by factory resets. But what if you want to make a system application - be it a messenger, a launcher or an automation utility? your own application - be it a messenger, launcher or automation utility?

In this article we will analyze all working methods for converting a regular APK into a system applicationincluding manual file transfer, use ADB, firmware modification and even bypassing restrictions on new versions of Android. You will learn not only โ€œhow,โ€ but also โ€œwhyโ€ to do it, what risks exist, and what alternatives should be considered if systemic status is unjustified. The material is relevant for devices from Samsung, Xiaomi, Google Pixel and other brands - taking into account their features.

What is a system application and why do you need it

A system application (system app) is a app that installed in partition /system or /priv-app Android devices. Unlike custom applications (installed in /data/app), it:

  • ๐Ÿ”’ Not removed by standard means (rights required root)
  • ๐Ÿ”„ Automatically restored after resetting
  • ๐Ÿ›ก๏ธ Receives extended permissions (for example, access k android:sharedUserId)
  • ๐Ÿ“ฑ Can work in the background without restrictions Doze Mode
  • ๐Ÿ”ง Updated only via OTA or manually (not through Google Play)

The main reasons why users want to make the application system:

Purpose Example Risks
Deletion protection Corporate applications, parental controls Complexity of updates
Advanced rights Automation (Tasker), modified services Security violation
Saving space Moving frequently used applications to the system partition Errors when updating the OS
Bypassing restrictions Working in the background (for example, for VPN) Blocking Google Play Protect

However, system status is not a panacea. For example, Google Pay banking applications may stop working due to a change in the APK signature. on devices with Dynamic System Updates (for example, Pixel), system applications may be reset after updates.

โš ๏ธ Attention: On devices with Lock Bootloader (for example, most Samsung or Huawei) modification of the system partition will cause operation KNOX or DM-VerityThis may void the warranty or block the device.

Preparing the device: root, unlocking the bootloader and ADB

Before making the application system, you must meet three key conditions:

  1. Unlock bootloader (bootloader). On most devices, this will erase all data and may require an official key (for example, Xiaomi or OnePlus).
  2. Get root access. Suitable Magisk (recommended) or SuperSU (obsolete).
  3. Install ADB and Fastboot. Tools from Android SDK Platform-Tools will be required to execute commands.

Instructions for unlocking the bootloader for popular brands:

  • ๐Ÿ“ฑ Samsung: Enable OEM Unlock in Settings โ†’ Developer, then use the command fastboot oem unlock.
  • ๐Ÿ“ฑ Xiaomi: Get permission via Mi Unlock Tool (may need to wait 7-30 days).
  • ๐Ÿ“ฑ Google Pixel: Unlocking occurs with the command fastboot flashing unlock.
  • ๐Ÿ“ฑ Huawei/Honor: An official unlock code is required (since 2018 the procedure has become more complicated).

After unlocking, install Magisk via TWRP or patch boot.img. Check superuser rights with the command:

adb shell

su

If you see a prompt in response # - root is available. Now you can start modifying the system partition.

๐Ÿ“Š What device are you using?
Samsung
Xiaomi
Google Pixel
Huawei/Honor
Other

Method 1: Manually transfer APK to the system partition (for experienced)

This method is suitable for users who are ready to work with the Android file system manually. You will need:

  • ๐Ÿ› ๏ธ Root access and a file manager with root support (for example, Solid Explorer or FX File Explorer)
  • ๐Ÿ“ Backup copy of the original APK (in case of errors)
  • ๐Ÿ”ง Knowledge of the paths of system partitions (/system/priv-app or /system/app)

Steps for transfer:

  1. Copy the APK file of the application from /data/app to a folder on the device (for example, /sdcard/Download).
  2. Open a file manager with root access and go in /system/priv-app (for applications with extended rights) or /system/app.
  3. Create a folder with the name of the application (for example, com.example.myapp) and place there:
/

โ”œโ”€โ”€ com.example.myapp/

โ”‚ โ”œโ”€โ”€ base.apk (or app.apk)

โ”‚ โ”œโ”€โ”€ oat/

โ”‚ โ”‚ โ”œโ”€โ”€ arm/

โ”‚ โ”‚ โ””โ”€โ”€ libbase.odex (if any)

โ”‚ โ””โ”€โ”€ lib/

โ”‚ โ”œโ”€โ”€ arm/

โ”‚ โ””โ”€โ”€ (.so libraries)

Important: The rights to the folder and files must be correct 0755 for folders and 0644 for files. Install them with the command:

adb shell

su

chmod 0755 /system/priv-app/com.example.myapp

chmod 0644 /system/priv-app/com.example.myapp/base.apk

After rebooting, the application will become a system one. However, there are nuances:

  • โš ๏ธ On Android 10+ you may need to sign with the system key (otherwise the application will not start).
  • โš ๏ธ Some applications (for example, Google Play Services) check integrity and may stop working.

Make a backup of the original APK

Check free space in /system

Install a file manager with root

Download original APK (not modified)-->

Method 2: Using ADB to convert to system one

A safer method is to use ADB to move the application without manually editing the system partition. Suitable for devices with root, but without. unlocked bootloader (on some firmware).

Commands for conversion:

adb shell

su

mount -o rw,remount /system

cp -r /data/app/com.example.myapp /system/priv-app/

chmod 0755 /system/priv-app/com.example.myapp

chmod 0644 /system/priv-app/com.example.myapp/base.apk

rm -rf /data/app/com.example.myapp

reboot

An alternative method is to use the utility app2system (available in repositories Magisk):

  1. Install the module App Systemizer via Magisk Manager.
  2. Launch the module and select the application from the list.
  3. Confirm the transfer and reboot the device.

Advantages of this method:

  • โœ… Does not require unlocking the bootloader (on some devices)
  • โœ… Automatically configures file permissions and ownership
  • โœ… Supports rolling back changes
โš ๏ธ Attention: On devices with SAR (System-as-Root) (Android 9+), modification /system can lead to bootloop (loop loading). Before experiments, check whether your device supports Method 3: Modifying the firmware (for advanced) mount -o rw,remount /system.

Method 3: Firmware modification (for advanced)

If you want the application to be a system application out of the box - for example, for unpacking on several devices - you can modify the firmware. This method requires:

  • ๐Ÿ–ฅ๏ธ Computer with Linux or Windows (WSL)
  • ๐Ÿ“ฆ Complete firmware dump (for example, via TWRP or DD)
  • ๐Ÿ”ง Tools: 7-Zip, Android Image Kitchen, MagiskBoot

Steps for modification:

  1. Download the firmware for your device (official or custom, for example, LineageOS).
  2. Unpack system.img using Android Image Kitchen:
./unpackimg.sh system.img
  1. Add APK to folder system/priv-app in the unpacked image.
  2. Assemble the image back:
./repackimg.sh
  1. Flash the modified system.img via fastboot or TWRP.

This method ensures that The application will be system even after a full reset, but requires deep knowledge and may break the operation of OTA updates.

What is SAR (System-as-Root)?

Starting with Android 9, Google has implemented the SAR architecture, where the /system partition is mounted on top of the rootfs. This makes modification difficult, since traditional remount methods do not work for such. devices require special tools like Magisk or patches for initramfs.

Method 4: Using Magisk and modules

If you have it installed Magisk, you can use ready-made modules to convert applications into system ones without manually editing the section /system. Popular solutions:

  • ๐Ÿ“ฆ App Systemizer โ€” allows you to select any user application and make it a system one.
  • ๐Ÿ“ฆ Systemizer โ€” supports batch processing of several APKs.
  • ๐Ÿ“ฆ MagiskHide Props Config โ€” to bypass checks (for example, SafetyNet).

How to install the module:

  1. Download the module ZIP file (for example, from GitHub or XDA Developers).
  2. Open Magisk Manager โ†’ Modules โ†’ Install from storage.
  3. Select the file and confirm installation.
  4. Reboot the device.

After activating the module:

  1. Run App Systemizer from the menu Magisk.
  2. Select the application from the list.
  3. Confirm the transfer c /system.

Advantages of this method:

  • โœ… Does not require unlocking the bootloader (on most devices)
  • โœ… Maintains integrity /system (modules are mounted on top)
  • โœ… Easy to roll back changes (delete module)
โš ๏ธ Attention: Some modules may conflict with MagiskHide or other modifications. If after installation the device does not boot, remove the module via TWRP or fastboot.

Method 5: Bypassing restrictions on new versions of Android (10+)

Starting with Android 10, Google has tightened the rules for modifying the system partition:

  • ๐Ÿ”’ Dynamic Partitions โ€” system images now change dynamically, which complicates their modification.
  • ๐Ÿ”’ Read-only /system โ€”even with root you canโ€™t just write files to /system.
  • ๐Ÿ”’ Signature Verification โ€” applications in /system must be signed with the firmware key.

Bypass solutions:

  1. Use /product or /vendor: On some devices (for example, Pixel) you can place APKs in these sections, which are not checked as strictly.
  2. Magisk Bind Mounts: Redirecting paths using modules (for example, Bind Mount Systemizer).
  3. Custom firmware: LineageOS or Pixel Experience often allow modification /system without restrictions.

Example command for mounting an application in /product:

adb shell

su

mount -o rw,remount /product

mkdir /product/app/MyApp

cp /data/app/com.example.myapp/base.apk /product/app/MyApp/

chmod 0644 /product/app/MyApp/base.apk

reboot

On Android 12+ even these methods may not work due to AVB 2.0 (Android Verified Boot). In such cases, all that remains is:

  • ๐Ÿ”ง Use Magisk with the module Zygisk to inject code into processes.
  • ๐Ÿ”ง Disable signature verification via patches vbmeta (risky!).
๐Ÿ’ก

If you just need to protect the application from being uninstalled, consider alternatives: installing via Work Profile (Android for Work) or using Island to create an isolated environment.

Risks and alternatives: when the system status is not needed

Before making the application system, assess the risks:

Risk Consequences How to minimize
Violation of OTA updates The device will not receive official updates Use Magisk modules instead of direct modification
SafetyNet triggered Google Pay, banking applications will not work Use MagiskHide or alternative methods
Bootloop The device will not boot Make a backup /system before changes
Loss of warranty Manufacturer will refuse service Use methods without unlocking the bootloader

In most cases, the system status is not needed. Consider alternatives:

  • ๐Ÿ” Deletion protection: Install the application via ADB with the flag --user 0 (will be visible only to you).
  • ๐Ÿ”„ Autostart: Use Tasker or MacroDroid to automatically start after a reboot.
  • ๐Ÿ“ Backup: Set up automatic backup of APK and data via Swift Backup or Titanium Backup.
  • ๐Ÿ›ก๏ธ Isolation: Install the application in Work Profile (via Island or Shelter).

If the goal is extended rights, check if they can be obtained by others ways:

  • ๐Ÿ”ง ADB commands: Some permissions (for example, WRITE_SECURE_SETTINGS) can be obtained through adb shell pm grant.
  • ๐Ÿ”ง Shizuku: A tool for executing commands with rights adb without USB debugging.
  • ๐Ÿ”ง Xposed/EdXposed: Modules for modifying the behavior of applications without changing /system.
๐Ÿ’ก

System status is needed only in 5% of cases. In the rest, root, ADB or isolation via Work Profile is enough.

FAQ: Frequently asked questions about system applications

Is it possible to make an application system without root?

No, modifying the partition /system requires root access. However, on some devices with an unlocked bootloader, you can flash the modified firmware via fastboot, but this still requires unlocking and erases the data.

Why is my system application not updated via Google? Play?

Google Play only updates applications in /data/app. For system APKs you need to:

  1. Manually download updates (for example, from APKMirror).
  2. Use modules like App Systemizerthat support updates.
  3. Roll back the application to the user section (remove from /system and install again).
How to remove a system application if it interferes?

Removal methods:

  • Via ADB: adb shell pm uninstall --user 0 com.example.app (hides, but does not physically delete).
  • Via Magisk: Install the module Universal SystemApp Remover.
  • Via TWRP: Delete the application folder from /system/priv-app.

โš ๏ธ Removing system applications can disrupt the operation of the OS (for example, deleting Google Services Framework will lead to system crash).

Will Google Pay work if I make it system?

Most likely not. Google Pay and banking applications check the integrity of the system through SafetyNet i Play Integrity API. Modification /system or being root will lead to blocking. Alternatives:

  • Use MagiskHide or Universal SafetyNet Fix.
  • Install the application into an isolated profile (Island).
  • Return to standard firmware before using payment services.
Can it be made systemic? app on Android Go?

Technically yes, but with reservations:

  • ๐Ÿ“Œ The Android Go section /system is greatly reduced (usually ~4-6 GB).
  • ๐Ÿ“Œ Many system functions have been optimized for weak devices - adding applications can cause lags.
  • ๐Ÿ“Œ It is recommended to use Magisk modules rather than direct modification.