Transfer Android App Data Between Devices Using ADB Backup & Restore

17 min read Learn a safe, no‑root method to move app data from one Android phone to another using ADB backup and restore, with detailed steps, warnings, and troubleshooting. October 07, 2026 07:00 How to Transfer Android App Data Between Devices Using ADB Backup and Restore (No Root)

Moving an app’s private data—settings, login tokens, saved games—from an old Android phone to a new one is a frequent pain point. Google’s cloud sync works for many apps, but not all, and some data simply isn’t backed up to your Google account. Fortunately, the Android Debug Bridge (ADB) provides a built‑in, no‑root way to create a full backup of an app (or a group of apps) on one device and restore it on another.

What this tutorial solves

After reading this guide you will be able to:

  • Back up the data of any installable app that permits ADB backup.
  • Transfer the backup file safely to a second Android device.
  • Restore the data so the app behaves exactly as it did on the original phone.

The method works on Android 4.4 (KitKat) through Android 12, but there are version‑specific quirks that we’ll cover.

Before you start

Prerequisites

  • A computer running Windows, macOS, or Linux with platform‑tools (ADB) installed.
  • USB cables for both phones (preferably the original cables to avoid connection drops).
  • Both phones charged to at least 50 %.
  • Wi‑Fi or a local network if you prefer to copy the backup file wirelessly.
  • Enough free storage on the PC (a typical full‑app backup is 50–200 MB).

Important warning: The backup will contain any personal data stored by the app (e.g., messages, credentials). Treat the .ab file like a sensitive document—store it in an encrypted folder or delete it after the restore.

Understanding ADB backup and restore

ADB’s backup command creates a single .ab file that can include:

  • App APKs (-apk flag).
  • App private data (-shared for shared storage, -all for all apps).
  • Optional encryption (password‑protected) using the -encrypt flag.

When you run restore on the target device, the package manager reinstalls the APK (if you included it) and writes the saved data into the app’s private directory. The process respects the app’s android:allowBackup manifest attribute; if the developer set this to false, ADB cannot back up that app’s data.

Step‑by‑step workflow

Step 1 – Install ADB on your computer

Download the platform‑tools zip for your OS, extract it to a convenient folder (e.g., C:\adb or ~/adb), and add that folder to your system PATH so you can run adb from any terminal.

Verification: Open a command prompt or terminal and type adb version. You should see something like Android Debug Bridge version 1.0.41.

Step 2 – Enable USB debugging on the source phone

  1. Open Settings → About phone.
  2. Tap Build number seven times until you see “You are now a developer!”.
  3. Return to the main Settings page, open System → Developer options (or directly Developer options on some OEM skins).
  4. Toggle USB debugging on. Confirm any security prompt.

On Android 12+ you may also need to enable “USB debugging (Security settings)” if you plan to back up apps that store credentials in the keystore.

Step 3 – Connect the source phone and verify the link

  1. Plug the phone into the computer via USB. Choose the “File Transfer / MTP” mode if a dialog appears.
  2. In the terminal run adb devices. You should see a line like 0123456789ABCDEF device.
  3. If the device is listed as unauthorized, look at the phone’s screen and tap Allow on the RSA key prompt.

Once the device shows as device, you’re ready to start the backup.

Step 4 – Choose the app(s) you want to back up

Run the following command to list all installable packages that allow backup:

adb shell pm list packages -f | grep -i "allowBackup=true"

Unfortunately there is no direct ADB flag to filter by allowBackup, so the above command is a quick way to see which packages are likely to work. In practice you can simply try the backup; if the app blocks it you’ll get a warning during the process.

For this tutorial we’ll assume you want to move the data of a single app, e.g., com.example.game. Replace that package name with the one you need.

Step 5 – Create the backup file on the source device

  1. Open a terminal on your PC and navigate to a folder where you want the backup to live, e.g., ~/android_backups.
  2. Run the backup command:
    adb backup -apk -shared -f game_backup.ab com.example.game
    • -apk includes the app’s APK so you don’t need to reinstall it on the target.
    • -shared adds any files the app stored on shared storage (photos, downloads).
    • -f specifies the output file name.
  3. On the phone you will see a prompt: “Full backup mode”. You can set a password (recommended) or leave it blank. If you set a password, remember it—restore will ask for it.
  4. Tap Back up my data. The backup process may take a few seconds to a couple of minutes depending on the app’s size.

What you should see: A progress bar on the phone and a new game_backup.ab file in the folder you chose on the PC.

Step 6 – Transfer the .ab file to the target device

You have three safe options:

  • USB transfer: Connect the target phone, enable file transfer, and copy the file using your OS file explorer.
  • Wi‑Fi share: Use a tool like adb-sync or a simple scp if both machines are on the same network.
  • Cloud temporary storage: Upload to an encrypted cloud folder (e.g., Tresorit) and download on the target. Delete the cloud copy after the restore.

Make sure the file ends up in a location you can easily navigate to from a terminal on the target PC (or on the same PC if you plan to use ADB over Wi‑Fi).

Step 7 – Prepare the target phone

  1. Repeat Step 2 on the target phone to enable USB debugging.
  2. Connect it to the computer and verify with adb devices that it appears as device.
  3. If you used the -apk flag, you can skip reinstalling the app. If you omitted it, install the app from Play Store or an APK first.

Step 8 – Restore the backup on the target phone

  1. In the terminal, run:
    adb restore -f game_backup.ab
    (The -f flag is optional; ADB will read the file you specify.)
  2. The phone will show a “Full restore mode” dialog. Enter the password you set earlier (or leave blank).
  3. Tap Restore my data. The device will unpack the APK (if present) and write the private data.

Verification: Open the app on the target phone. It should open exactly where you left off on the source device—same login, same saved progress, same settings.

Alternative command variations

Depending on what you need, you can tweak the backup command:

  • adb backup -apk -nosystem -f all_backup.ab -all – backs up every user‑installed app (excluding system apps). Useful when moving to a brand‑new phone.
  • adb backup -f mydata.ab -shared – backs up only files on shared storage (photos, downloads). Does not touch private app data.
  • adb backup -f encrypted.ab -encrypt – prompts for a password and encrypts the entire file on the fly.

Remember that -all will attempt to back up every app that allows it; some large games may produce multi‑gigabyte backups.

Known limitations and how to work around them

  • Android 9 (Pie) and later restrict adb backup for apps that target API 28+ and have android:fullBackupContent set to @xml/backup_rules that exclude data. In practice many popular apps still allow backup, but if you see a warning like “Backup failed for com.example.app”, the app simply does not expose its data to ADB.
  • Encrypted keystore entries (e.g., WhatsApp, Signal) are not transferable. These apps store cryptographic keys in the hardware‑backed keystore, which cannot be exported. You’ll need to re‑verify the account on the new device.
  • Device‑specific IDs (IMEI, Android ID) are not part of the backup. Some games bind progress to those IDs; moving the backup may cause a “license not recognized” error. In those cases you need to contact the developer or use their cloud‑sync feature.
  • OEM‑added security layers. Some manufacturers (e.g., Samsung Knox) disable ADB backup for certain pre‑installed apps. The only workaround is to use the vendor’s own backup solution or a custom ROM.

Troubleshooting common issues

Problem: “Backup failed: com.example.app (error 2)”

Cause: The app has android:allowBackup="false" or uses a protected keystore.

Solution: Verify the app’s manifest (if you have the APK) or check the developer’s FAQ. If the data is essential, look for an in‑app export feature instead.

Problem: “adb: command not found”

Cause: ADB is not on your system PATH.

Solution: Add the platform‑tools folder to PATH or call it with the full path, e.g., ~/adb/adb devices.

Problem: Phone disconnects during backup, leaving a truncated .ab file.

Cause: Loose USB cable or power‑saving mode.

Solution: Use a high‑quality cable, disable “USB selective suspend” (Windows) or “USB configuration → Charging only” (Android), and keep the phone awake (enable “Stay awake while charging” in Developer options).

Problem: Restore asks for a password you don’t remember.

Cause: You set a password during backup but forgot it.

Solution: Unfortunately ADB cannot recover a lost password. Delete the backup and create a new one without a password, or use a third‑party tool to brute‑force (not recommended).

Safety and privacy considerations

  • Never store the .ab file on a shared or public computer without encryption.
  • If you use the -encrypt flag, choose a strong password (minimum 12 characters, mix of letters, numbers, symbols).
  • After a successful restore, securely delete the backup file (e.g., shred -u game_backup.ab on Linux or use a reputable file‑shredder on Windows).
  • Be aware that some apps may detect a “restored” state and force a re‑login or data reset as a security measure.

Edge cases and advanced tips

  • Using ADB over Wi‑Fi. If you don’t want to keep a USB cable attached, you can enable TCP/IP debugging:
    adb tcpip 5555
    adb connect 192.168.1.42
    Replace the IP with your device’s address. The rest of the workflow stays the same.
  • Partial restores. If you only need the app’s shared files, run adb backup -shared -f photos_backup.ab com.example.app and restore with adb restore photos_backup.ab. The app’s private data will remain untouched.
  • Batching multiple apps. Create a text file apps.txt with one package name per line, then run:
    while read pkg; do adb backup -apk -shared -f ${pkg}_backup.ab $pkg; done < apps.txt
    This automates backups for a list of favorite apps.
  • Converting .ab to .tar for inspection. If you want to peek inside a backup (e.g., to verify that a specific file is present), you can use the open‑source android-backup-extractor:
    java -jar abe.jar unpack game_backup.ab game_backup.tar
     tar -tf game_backup.tar | less
    This does not modify the backup; it’s purely for inspection.

When to choose a different method

If the app you need to migrate does not allow ADB backup, consider these alternatives:

  • In‑app cloud sync. Many games and productivity apps offer their own backup to Google Drive or a proprietary server.
  • Manual export. Some apps let you export data to a file (e.g., WhatsApp’s chat export, Signal’s encrypted backup).
  • Third‑party backup apps. Apps like Titanium Backup require root, so they are out of scope for a no‑root guide.

Wrapping up

By following the steps above you can confidently move an app’s private data from one Android device to another without rooting, without relying on cloud services, and without reinstalling the app manually. The process is transparent: you see exactly what is being copied, you control encryption, and you keep the backup file in your hands.

Remember to respect the privacy of the data you’re moving—treat the backup file as you would a password manager export. With a little preparation, ADB backup and restore become a reliable part of your Android migration toolkit.

User Comments (0)

Add Comment
We'll never share your email with anyone else.