How To: Backup protected and paid Android applications for root users

First off, this is not a guide to pirating apps. There are legit reasons for wanting to backup your applications. Sometimes an older version of the app worked better, or had features you liked better. Sometimes new versions don’t work with specific phones and you need to revert back. Now, you can use AppManager to backup most apps, but protected apps are not included in this because they are stored in a different directory. With a rooted phone, you can access this directory and copy the apps to your SD card or to your computer. After all, you paid for it, it’s yours. If you want to pirate apps, or buy an app, copy it then return it, that’s on you, I’m not advocating that.

First method, copy with your phone to SD card:

  1. Install and open a Terminal Emulator on your phone.
  2. Enter su to be superuser (root).
  3. Enter cd /data/app-private/ to enter the protected application directory.
  4. Use ls to view the apps in the directory.
  5. Enter cp filename.apk /sdcard to copy a single app to your SD card.
    (Or to backup all the protected apps: cp * /sdcard)
  6. If you want to backup all your apps, they can be found in /data/app/

Second method is to use Android Debug Bridge with your PC:

  1. Install the Android SDK on your PC
  2. Connect your phone to your computer via USB cable, and make sure USB debugging is enabled on your phone (Settings > Applications > Development)
  3. Enter adb shell to fire up Debug Bridge and enter shell mode
  4. Enter su to become superuser
  5. Enter cat /data/app-private/filename.apk > /sdcard/filename.apk to copy the file to the SD card.
  6. exit
  7. exit
  8. And finally adb pull /sdcard/filename.apk filename.apk pulls the .apk file from your SD card to your computer.

Success? Problems? Moral issues with copying software? Let us know in the comments.


Ben is the owner/editor of The Android Site, as well as the main writer. He has been writing about Android related news since 2009 and obsessed with everything Google and Android related. You can find him on Reddit, Twitter, Google Plus and most other websites under the username benmarvin

Share This Post

Related Articles

  • mag00n

    I installed eclipse + droid sdk with the most recent updates. When I run the commands above I get this.

    $ su
    su
    su: permission denied

    *Also, I cannot see anything in the /data directory, thus a directory /data/app-private is not found either.

    Is there a way to elevate permissions without rooting my phone?

  • spaz

    No there is not

  • aziz

    i tried the adb method.

    when i type in “cat /data/app-private/filename.apk > /sdcard/filename.apk” replacing filename.apk with the app im tryin to backup…i get error saying cannot create /sdcard/filename.apk: read-only file system.

    I followed the steps exactly as specified… i have a HTC Hero rooted running firmware 1.5.

    Help would be appreciated.

  • Brian

    This has worked for me, however one thing everyone should be aware of (that I just ran in to) if you are planning to perform a hard-reset _for the purpose of changing the primary google email address_ is that you may have issues with the Android Market recognizing which apps you’ve purchased.

    Backing up the applications works fine, however if you perform a hard-reset and then change the primary google email address, the Market will no longer acknowledge that you’ve purchased an app (because it is associated with the original gmail address) and you won’t be able to receive app updates from the market unless you actually re-purchase & download the app via Android Market.

    So far the developers I’ve asked about this have been okay with issuing a refund for the second purchase if I could prove that I actually paid for the app, but this can definitely be a hassle so keep it in mind.

    -Brian

  • coose

    so i rooted the phone and everything and can see the protected list but when i try to back them up it says cp not found.
    the list shows
    com.mangoes.truthordare.akp

    do i copy that as it is with /sdcard at the end or am i doing something wrong…
    this is exactly what i typed

    com.mangoes.truthordare.akp/sdcard

  • Steven

    Ok. You need to use cd /data/app-private/
    then ls
    then cp filename.apk /sdcard/
    These steps avoid a lot of confusion. Again this only works with root and you may need to say su before you start. You will know if you are a superuser if there is a # and not a $. This is for adb by the way.

  • evan

    Whe im doing the cp filename.apk /sdcard/ im getting cp: not found….

  • evan

    and steven i followed those steps exactly. im def. rooted. using the droid

  • wyatt

    Same here did you figure it out evans?

  • person

    I’m having the same cp: not found problem. I definitely followed all the steps correctly, but it says that every time.

  • http://www.theandroidsite.com Ben Marvin

    To those having trouble with the “cp not found”, are you doing it via USB on the computer, or through a terminal emulator program on the phone? Try the other method and see if it yields better luck. Or try to change to a different terminal app. Remember upper and lowercase do matter in Linux file systems, so that may also be the issue.

    Also, not HTC phones, specifically Motorola phones, may require a USB driver to be installed on your PC before ADB can properly communicate with the phone.

  • person

    The problem seems to be that I didn’t have the latest “busybox” installed. To those having the cp:not found problem: I recommend installing the free app Titanium Backup, which will install the busybox thing for you and then allow you to back-up protected apps.

  • David V

    ok… I got the SDK installed… and found I also needed to load the Motorola Drivers install so I could see my device. I can see the device when I run “adb devices” and I can now run “adb shell” and I can get a directory listing. But when I do “su” all I get is “permission denied.”

    $ su
    su
    su: permission denied
    $

    I don’t want to root my device at this time b/c I may return it so I can get one cheaper… hence I all I need to do is to save the 1 app I’ve purchased.

    Any ideas on when I am may be missing? I am running v2.1 of Android.

    • http://www.facebook.com/people/Ian-Brock/100000506424249 Ian Brock

      your out of luck then there is no known method as far as i know to do this  unless you root your phone.  you need super user acess to see the flash memory.

  • dante

    is this possible to do still?

  • Ken

    Yes it still works – just backed up all apps from my Droid X today…by the way the “backing up paid apps then returning” as a piracy method is the dirtiest software piracy method I’ve ever heard of…its exactly the same as walking into a B&M store, buying a VCR, taking the VCR & returning the box full of rocks for a full credit…dirty.

    • Nathan

      More like buying a VCR, making an exact copy of the VCR and returning the VCR in the box to the store for full credit.

  • Ken

    @Ken
    Did I just use “VCR” as an example?? Wow I just went back in time 20 years!

  • http://www.facebook.com/profile.php?id=681180879 Robert Torrey Mason II

     Awesome.  Many thanks for the terminal commands.  Saved me a lot of headache!

  • Adrian Haurat

    Just used Titanium Backup to backup all my apps and it was easy as pie. The free version (which I’m currently using) allows one backup at a time (future backups will just overwrite the current one). For $6 the pro version will allow unlimited backups. For those who (like me) are confused by all the command line stuff…

  • Just trying to help

    For all those getting “cp not found” it may be because Busy Box is not installed. (Busy Box is a lot of Linux functions all packed into one distributable).

© 2014 Android News. All rights reserved. Site Admin · Entries RSS · Comments RSS
Powered by WordPress · Designed by Theme Junkie