How To Install Any App As A System App On Android [Guide]

While installing an app on your Android device is as simple as searching for it in the Google Play Store and hitting install, or sideloading its APK on your phone, that always installs them as user apps (also referred to as data apps). At times certain apps need to be installed as system apps rather than user apps in order to utilize their full potential, and that’s where things get a little complicated. In this guide, we will show you how you can install any Android app as a system app on your Android device.

Install-Any-Android-App-As-System-App

The apps installed on your Android devices can be broadly categorized as system apps or user apps, based on their installation location. The user apps are just all your normal app installations through the Google Play Store, Amazon Appstore or sideloading. These go into the /data partition of your Android phone, which is the part of the internal memory made available for user data and apps.

System apps are basically the apps that come pre-installed with your ROM. In a standard Android user environment, the user doesn’t have write access to the /system partition and thus, installing or uninstalling system apps directly isn’t possible. The process isn’t as hard as it may sound. However, there is a catch.

In order to install an app as a system app on your Android device, your device must either be rooted, or have a custom recovery installed (or both). Usually pretty much everyone who has a custom recovery installed uses a rooted ROM, so we’ll just be using the method for rooted phones.

Root Access File Manager Method

Requirements

  • Your Android device must be rooted. If it isn’t already, check out our guide on rooting Android.
  • A root access file manager of your choice. We will be using ES File Explorer for the purpose.
  • The APK file for the app you want to install as system app. If you have the app installed as a normal user app, don’t worry; we’ll show you how to grab its APK.
Important: Make sure to allow any SuperUser permission requests that you may get during these steps..

Procedure

  1. Configuring ES File Explorer for root read/write access (required only once):
    1. Launch ES File Explorer, press Menu and tap ‘Settings’.
    2. In the settings, enable the ‘Up to root’ check box.
    3. Further down in the settings, enable ‘Root Explorer’ check box. You will get a warning that you should confirm.
    4. You will then get the Superuser permissions request that you must allow.
    5. Finally, enable the ‘Mount File System’ check box, and press the back key to get back to the explorer interface. ES File Explorer is now configured to work as a root explorer. You do not need to do this again on the same device now, unless you uninstall ES File Explorer, perform a factory reset or install another ROM.
  2. Finding the APK of an already-installed normal app (skip to step 3 if you already have the APK):
    1. First of all, install the app from Play Store, if you haven’t already done that.
    2. Launch ES File Explorer and go to /data/app. (You may have to press the back button to get to / first).
    3. If you know the icon of the app, you can easily find it here. If you are having trouble finding the app here due to the confusing names or because of having a lot of apps installed, just search for the app in Google Play Store in a web browser and look at its Play Store link for the name. The file name will basically be the part after ?id= in its market link (and before any other question mark that may or may not appear in the link). For example, the market link for ES File Explorer is https://play.google.com/store/apps/details?id=com.estrongs.android.pop and its APK file in /data/app is com.estrongs.android.pop-1.apk.
  3. If you already have the APK of the file that you want to install as a system app, make sure you have transferred it to your device’s SD card if you haven’t done that already. Also make sure you know the path where you have copied it on the SD card.
  4. Once you have located the required APK on the SD card from ES File Explorer, tap-and-hold on its icon till you get a menu, and tap ‘Cut’. You should see a little blue arrow on the bottom of the screen now. (You may select ‘Copy’ instead of ‘Cut’ if you are copying a file over from the SD card and want to keep a copy there. In case of copying an APK from /data/app, always use ‘Cut’.)ES File Explorer Copying
  5. Now press the back button till you reach / and then browse to /system/app/
  6. Tap the little arrow that you see on the bottom of the screen. It will bring up a pane with the icon of the copied file.
  7. Tap on the file’s icon, and it will be transferred to /system/app/.
  8. Now find the app’s icon in the list of files there and tap-and-hold on it till you get the menu.
  9. Scroll down in the menu till you see ‘Properties’ and tap on it. You will now see the properties dialog.
  10. Tap the ‘Change’ button in front of the Permissions to bring up the permissions dialog.
  11. Make sure everything under ‘Read’ is checked, only ‘User’ is checked under ‘Write’ and nothing is checked under ‘Execute’ Your screen should look like the following:ES File Explorer Permissions
  12. Tap OK on this screen and then on the Properties screen. Your app’s permissions are now set correctly.
  13. Reboot your device. Your app is now ready to be used as a system app.

Terminal Emulator Method

If you don’t want to configure and use a file browser for the purpose and would rather just quickly issue a few commands to do the job, we’ve got you covered.

Requirements

  • Your Android device must be rooted. If it isn’t already, check out our guide on rooting Android.
  • Android Terminal Emulator
  • Mount /system (rw / ro)
  • The APK file for the app you want to install as system app. If you have the app installed as a normal user app, don’t worry; we’ll show you how to grab its APK.

Important: Make sure to allow any SuperUser permission requests that you may get during these steps..

If you have the app installed on your phone as a normal user app:

  1. Launch the ‘mount /system (rw / ro)’ app on your phone.
  2. Tap ‘Mount r/w’ to mount your /system partition as writable.
  3. Search for the app in Google Play Store in a web browser (on any device), and open its Play Store web page.
  4. Look at the Play Store link of the app for a string that starts with ?id= and ends before any further question mark in the link. That will be part of the APK’s name on your phone. For example, the market link for ES File Explorer is https://play.google.com/store/apps/details?id=com.estrongs.android.pop and its APK file in /data/app is com.estrongs.android.pop-1.apk. If you see another question mark after such a name in the link, ignore everything after that.
  5. Launch Android Terminal Emulator and enter the following commands one by one:
    su
    cd /data/app/
  6. Now enter this command, making sure you replace ‘file_name_part_comes_here’ with the partial file name for your app that you found out from the link in step B. Don’t forget the asterisk ( * ) in the end.
    ls file_name_part_comes_here*

    In case of our example from step B, the command would be

    ls com.estrongs.android.pop*
  7. As a result of the command in step D, you will see the complete file name of the app. In case of our example, the result would be com.estrongs.android.pop-1.apk. It is usually the same partial app name that we got from the link in step B, followed by a hyphen ( – ), a number (usually but not always 1), and the .apk extension. Viola, we have located the file name of the required APK.
  8. Now enter this command, replacing full_file_name_comes_here with the full file name including the extension:
    mv full_file_name_comes_here.apk /system/app/full_file_name_comes_here.apk

    In case of our example, the command would be


    mv com.estrongs.android.pop-1.apk /system/app/com.estrongs.android.pop-1.apk
  9. Your app has been moved to the system partition, making it a system app from a user app. You may now close the Terminal Emulator window and reboot your device for the changes to take effect.

If you have the APK of the file available on your computer:

  1. Copy the APK to your phone’s sd card from your computer.
  2. Launch Android Terminal Emulator on your phone.
  3. Enter these commands, replacing file_name_comes_here with the full name of the APK file including the extension:
    cp /sdcard/file_name_comes_here /system/app/file_name_comes_here.apk
    chmod 644 /system/app/file_name_comes_here.apk

    For example if the file name is FileManager.apk, the commands would be like:

    cp /sdcard/FileManager.apk /system/app/FileManager.apk
    chmod 644 /system/app/FileManager.apk

    And you’re done! Just reboot the phone now for the changes to take effect.

ADB Method

Requirements

  • Your Android device must be rooted. If it isn’t already, check out our guide on rooting Android.
  • ADB installed and configured on your computer. See our guide for the complete method.
  • The APK file for the app you want to install as system app. If you have the app installed as a normal user app, don’t worry; we’ll show you how to grab its APK.

Procedure

If you have the app installed on your phone as a normal user app:

  1. Search for the app in Google Play Store on your computer in a web browser, and open its Play Store page.
  2. Look at the Play Store link of the app for a string that starts with ?id= and ends before any further question mark in the link. That will be part of the APK’s name on your phone. For example, the market link for ES File Explorer is https://play.google.com/store/apps/details?id=com.estrongs.android.pop and its APK file in /data/app is com.estrongs.android.pop-1.apk. If you see another question mark after such a name in the link, ignore everything after that.
  3. Launch a command prompt window and enter the following commands one by one:
    adb remount
    adb shell
    su
    cd /data/app/
  4. Now enter this command, making sure you replace ‘file_name_part_comes_here’ with the partial file name for your app that you found out from the link in step B. Don’t forget the asterisk ( * ) in the end.
    ls file_name_part_comes_here*

    In case of our example from step B, the command would be

    ls com.estrongs.android.pop*
  5. As a result of the command in step D, you will see the complete file name of the app. In case of our example, the result would be com.estrongs.android.pop-1.apk. It is usually the same partial app name that we got from the link in step B, followed by a hyphen ( – ), a number (usually but not always 1), and the .apk extension. Viola, we have located the file name of the required APK.
  6. Now enter this command, replacing full_file_name_comes_here with the full file name including the extension:
    mv full_file_name_comes_here.apk /system/app/full_file_name_comes_here.apk
    exit
    exit
    adb reboot

    In case of our example, the command would be

    mv com.estrongs.android.pop-1.apk /system/app/com.estrongs.android.pop-1.apk

    And you’re done.

  7. Your app has been moved to the system partition, making it a system app from a user app. You may now close the command prompt window. The phone will now reboot for the changes to take effect.

If you have the APK of the file available on your computer:

  1. Open a command prompt window and navigate to the location of the APK file on your computer.
  2. Enter these commands, replacing file_name_comes_here with the full name of the APK file including the extension:
    adb remount
    adb push file_name_comes.apk_here /system/app/
    adb shell chmod 644 /system/app/file_name_comes_here.apk
    adb reboot

    For example if the file name is FileManager.apk, the commands would be like:

    adb push FileManager.apk /system/app/
    adb shell chmod 644 /system/app/FileManager.apk

    And you’re done!

Your phone will reboot and your app will be ready to be used as a system app.

Method for unrooted devices with custom recovery installed

If you have a custom recovery and haven’t rooted your phone, you already know what you’re doing, and know that you just have to flash the zip file of the apps you need to install as system apps.

Advertisement
  • Kaushal

    I use Titanium Backup to convert any app to a system app. It’s a one click deal.

    • http://hqraja.com/ Haroon Q. Raja

      The Titanium Backup method is definitely better if you have the paid version. For those who don’t want to pay for it, these methods should do just fine.

  • http://www.blogotechblog.com Lalit Indoria

    Haroon, why do we need to follow this long procedure when it can be done easily using Titanium Backup?

    • http://hqraja.com/ Haroon Q. Raja

      The Titanium backup method requires the donate version and isn’t available in the free one. This method will work universally.

  • Barrie McNaught

    Is there any benefit of making an app a system app?

    • http://hqraja.com/ Haroon Q. Raja

      In certain (rare) scenarios, an app might require to be installed as a system app in order to perform certain functions not available to user apps. For instance, to be able to directly add widgets from the app drawer of any ICS-based launcher, it must be installed as a system app, since launchers installed as user apps don’t have that permission.

      Apart from that, one might also want certain apps to be installed into the system partition so that they remain there even after performing a factory reset. Once installed in the system partition, the app essentially becomes a part of your current ROM itself.

      • Muhammad Tayyeb

        Hi,
        After following the ES File explorer method to copy the apk to system and rebooting, it always gives error “Unfortunately, Handcent SMS has stopped.”

        • joshua

          i did that twice same thing happend u need to delete the file from the system/ app and then reboot it will become alright and then install it again

  • maidamar

    Apps2ROM works great exactly for this. It manages duplicates as well.https://play.google.com/store/apps/details?id=com.lrenault.tools.apps2rom

    • http://hqraja.com/ Haroon Q. Raja

      Great find! =)

  • Manu

    I tried using the above steps (copying the .apk in system’s app partition) for one of the app named File explorer. After reboot, couldn’t see the app in the list of apps. Any suggestions?

    • handsome.2121

      do u find why is that happend?

  • http://www.facebook.com/thisisalam Shahriar Gangulian Alam

    Believe me, I tried the first method by changing the permissions. But I wasn’t rebooting the device… Thanks a lot!… :-)

  • http://www.theblacklaser.net/ Joe The Wizard

    Can you use this same method in reverse to remove bloatware?

    • http://hqraja.com/ Haroon Q. Raja

      Yes, you certainly can! =)

      • http://www.theblacklaser.net/ Joe The Wizard

        Haha, thanks! I went ahead and tried it just after posting the question and it worked flawlessly. I know who’ll be cleaning off his Galaxy S III next week when it arrives. THIS GUY.

        Uh, just imagine me pointing at my chest with both thumbs.

        • http://hqraja.com/ Haroon Q. Raja

          None other than our friend ‘Joe the Wizard’!

          • ppp

            now the es file explorer is updated i cant find all configurations

  • cpuzer

    without hadn’t fetered ‘dalvik-cache’,you are worng obviously.

  • Follower

    When I google something about android, your page is the first result, I find exactly what I want here :)
    Thank you.

  • Colin Hui

    I follow your steps but cannot move the apps from data to system. The esexplorer said this apps cannot move. Please advise what step I do it wrong.
    Thanks

  • Missy

    Brilliant instructions! I had an older version of QuickPic installed as a system app and wanted to integrate a newer version into the ROM. I had a different file manager installed on my phone but was still able to successfully install the latest QuickPic app as a system app. Thank you! :D

  • Matt

    Thank you so much! So through!

  • Salamafet

    Thanks very useful :)

  • http://www.facebook.com/adam.bennett.961 Adam Bennett

    wouldnt it be easier to use rom toolbox and whatever app wanna move to system partition just press and hold app and select make system app? i have over 400mb system partition space and wanna move all the small apps to it like grooveip,textnow,fpse,snesoid, launchers and such…i like this guide tho will try it out :)

  • Adriano

    Thank you so much! Great Job!

  • Philip da Kopje

    I must say a big “THANK YOU” to you sir! i live in Nigeria and the economic condition here is really harsh. I was using an HTC Incredible S but it fell and the screen got broken and i couldnt find someone to fix it. So i bought an LG P930 and after less than a month I accidentally removed lgphone.apk instead of the intended lgphone.odex. I couldnt imagine myself coughing up more than a months pay to buy another good device. A google search led me here and I was able to solve the problem. Thanks a million. Thanks again, you really saved my arse!!!!!

  • Farah_HTC one X

    i did the steps with the ES File Explorer but when i tried to paste the app in the system/app file it said app cannot be moved!!
    please help im trying to install FM_Radio.apk in my htc one x since it didnt come with the phone although it was supposed to

    • Jamie

      you must do root access or else it won’t work

  • http://www.facebook.com/khan.osama.siraj Khan Osama Siraj

    thanx …. it really helps.

  • nerdygirl

    the installation failed.. why is this?? :(

  • http://www.facebook.com/susanto.cz.cc Nico Susanto

    cool..this tutorial very clear for newbie like me..

  • Xion

    wow.. the above tutorial very2 hard.. its dificult to try..

    • ahmad

      hi everybody

      what does exactly do the checking the permission boxes in es explorer process?
      what if i forget doing that?

      i remember the last time that i moved some pretty useful apps to system>apps without checking those boxes and it was successful
      but because of an update plan for an app i decided to do it reverse to release some space (move to data>apps then uninstall) and unfortunatly no spaces were released for new version !!
      even i did removed whole apps and nothing good yet, finally did factory reset .
      any idea?

      another question plz:
      how about moving the apk file directly to system>apps directory without having to installing it and doing whole these process?
      bcoz i did! was i wrong?

      excuse my bad english

      xperia mini
      rooted
      4.0.a.2.377
      android 2.3.3

      • Hans Kieftenburg

        Be aware for one important pitfall :

        Any application depending on libraries inide it’s APK file will most likely not function simply being moved to /system/app!!
        Remedy is to manually copy the required libs from /data/data//lib to /system/lib aswell.
        Do this immediately after moving the apk itself. Anyway before system reboot, because after that the data/data//lib will disappear due to moving the main apk to system!

        If ever the application is uninstalled or moved back to /data/app/, the system/lib/ risks becoming ‘bloated’ with libs no longer necesary. So in such case don’t forget to manually remove these libs!

  • http://www.yourcyberguide.com/ divyansh

    thanks a ton.. it was helpful

  • Bokor Levente

    Hi, with this metod i can change my contact store app? When i install a new contact app and i disabled the old contact app, i want to add a new contact, but i can’t

  • Amine

    Hello, I have a problem on my phone and the only solution from above is the last one ”ADB method”, so I did all steps but when I entrer ‘adb remount’ on command prompt it gives me ‘error: more than one device connected’, what should I do? I only have my Xperia Z1 connected to pc, and not any other device.. PLEASE HELP!

  • george Mathew

    Say,the app is stored in system/app by the above procedure.Then for subsequent installs of the app(either from playstore/sideloading),will the app be still located in system/app or will the new ones goto data/app?

  • Ivan

    In the past i used titanium backup for this on my xperia mini with cyanogen 9.1.

    The problem was that the app’s cache that i moved, occupies a lot of memory in the system memory, and i cannot pass more apps…

    Is possibile to move the apps in the system memory but mantain the cache in the user memory?