Migrate everything (apps and data) from one Android phone to another using TWRP Recovery

Here I describe a method to migrate an Android phone ROM from one phone to another phone of exactly the same model.  Don’t try this unless you have two phones of the same exact model.

One common reason to do this – if your phone is damaged (screen cracked), and you want to transfer all of your apps, settings, history, etc. to a new phone.  This is an easy way to pick up right where you left off with a new phone.

Prerequisites:

  • Teamwork Recovery (TWRP).  If you have this, you probably have a rooted phone with a custom ROM, and you know what you’re doing.  If you don’t have this, then this tutorial isn’t for you.

Here are the process steps in a nutshell:

  1. you create a backup of the ROM from your old phone
  2. copy the ROM backup from your old phone to your PC
  3. then copy it from your PC to your new phone
  4. flash the backup onto your new phone

The process isn’t quite as straightforward as it sounds though.  Details below.

Step 1: Back up the old phone

First, you make a copy of the ROM from the original phone.  You will be using this copy to flash onto your new phone.   It is very easy to create a backup using TWRP.  Unfortunately, by default, TWRP sets restrictive permissions on the backup files so that you can’t easily copy them to your PC.  So

  1. Reboot into Recovery.   The process varies for each phone.  One way to do this for the Samsung Galaxy S3 is to power down, then press the home , volume-up and power buttons at the same time to turn the phone on.  From the main TWRP screen, select Backup.
  2. On the next screen, you will see that Boot, System and Data are checked by default.  Leave these defaults as-is, and Swipe to Back Up.  This will take several minutes, as ALL the files on your phone are backed up.  When it’s done, you will have a button that says “Reboot System”.  Don’t press this yet.
  3. Press the soft home button (bottom left of your screen).  Choose Advanced, then File Manager.  Inside File Manager, navigate to the /data/media/TWRP/BACKUPS directory.   You will find another directory here with 8 alphanumeric characters.  Select it.
  4. Now you will see one or more directories.  If you only have one backup, there will be only one directory.  If you have multiple directories try to figure out which one you just made based on the date and time in the directory name.   TWRP typically doesn’t know the real date and time, so if you look at the current time that TWRP thinks it is, you can figure out which directory corresponds to the backup you just made.  Select it.
  5. Now, you need to change the permissions of every file in this directory.  there are probably between 7-9 files you need to do this for.  Select each file one by one, and then select chmod 755, then Swipe to Confirm.
  6. After changing permissions on all files in your backup directory, select the soft Home button (bottom left) and then select Reboot, then System.

Now you have a backup ready to copy to your PC.

Step 2:  Copy your Backup to your PC

This step is simple.  Connect your phone to your PC via a USB cable.  Browse to the \Phone\TWRP\BACKUPS directory, find your backup folder, and copy the entire folder to a location on your PC.   Browse to the \Phone\TWRP\BACKUPS directory from your PC, and copy the “old phone” backup you made in step 1 from your PC to the phone.

Step 3:  Copy the Backup from PC to your new phone

This step is a bit more complicated than you would think.  First, you need to make a simple backup with the new phone.  This ensures the directory you will be copying to is set up properly.   So here are the steps:

  1. Boot your new phone into recovery.
  2. Select Backup, then check only Boot (uncheck System and Data), then Swipe to Back Up.   This creates sets up your BACKUPS directory, and creates a small ~10MB backup.
  3. Select the soft Home button and then Reboot, then System.
  4. After the new phone fully boots, connect it to your PC via USB.  Browse to \Phone\TWRP\BACKUPS and copy “old phone” backup files to the backup directory that you just created.

Step 4:  Restore the backup to your new phone

  1. Reboot the new phone into Recovery.
  2. Select Wipe from the main menu.
  3. Swipe to Factory Reset.  This doesn’t take long.
  4. Hi the Back Button twice to get to the main menu.
  5. Select Restore.
  6. Find the directory you copied from your PC.   Select it and leave everything checked (Boot, Data and System).  Swipe to Restore.    This will take several minutes, as all of the phone’s files are restored.
  7. Once restore finishes, do not reboot yet.  Select the soft Home button (lower left) to return to the main screen.
  8. Select Wipe, then Advanced Wipe, then select Dalvik Cache and cache, then Swipe to Wipe.
  9. Select the soft Home button (lower left), then Reboot, then System.  Your phone will reboot, and after an initialization process, it should work exactly like your old phone.

8 thoughts on “Migrate everything (apps and data) from one Android phone to another using TWRP Recovery

  1. Hi, just a quick question, in step 3 what do I do with the boot-only backup of the new phone? Do I replace it with the boot backup of the old one?

    1. Correct. You don’t need to keep the boot-only backup of the new phone. The only reason for making the boot-only backup is to create a directory structure that TWRP understands. You will copy the old phone backup files into this new directory that was created when you made the boot-only backup.

  2. Hi,
    thanks for your guide, but I think in some devices you could have some problems making a backup also of system and boot partitions, and not only of data, since there are some info like IMEI and mac-addresses on them.
    Maybe the best cloning solution is to make a backup only of the data partition and of the sd card/virtual sd card, putting the same Rom on the new phone, and then restore by TWRP the data partition and copying the sd card/virtual sd card data.
    It worked for me, for example switching to a damaged OnePlus One to a brend new one.
    Thanks!

    1. Thanks for your comment Luca. I believe that backing up boot, system and data should be safe (not impacting IMEI, MAC address, etc.). I believe these values are typically stored in EFS partition. See https://twrp.me/faq/whattobackup.html
      The advantage of backing up boot, system and data is that it saves time setting up your new phone, and ensures that everything is perfectly in sync.
      Having said that, my current phone isn’t even rooted (it’s a Galaxy S6 for work that has Knox installed), so my experience in this area is a bit rusty :-).
      I welcome further comments on this.

  3. Hi, I know this post is years old, but I’ve been looking for something like this as my old Galaxy S4 was so customized that I’m dreading customizing again My new S5.
    Now my question is,if you happen to answer quickly… is this process ok going from one Phone with one ROM ROOTED to another phone that is not the same as the original? As in this case from S4 to S5?
    And if yes, How would it work with the 2 different ROMs?
    My TWRP image I have of my old phone was made before it broke so I didn’t do the chmod 755 is that a problem?

    1. Hi, this method definitely will not work when changing to a different phone model. For that I wuold investigate using Titanium Backup (if rooted) and/or the built-in Android backup features.

Leave a Reply

Your email address will not be published. Required fields are marked *