Transfer Android App Data Using ADB Backup and Restore (No Root)
14 min read
Learn step‑by‑step how to move app data from one Android phone to another using ADB’s backup and restore commands, without rooting the device.
September 29, 2026 05:00
Moving an app’s data from an old Android phone to a new one can feel risky, especially when you want to avoid rooting or third‑party backup services. Fortunately, Android’s built‑in adb backup and adb restore commands let you create a device‑level snapshot of selected apps and their private files, then replay that snapshot on another device. This tutorial shows exactly how to do it, why each step matters, and how to recover if something goes wrong.
Before You Start
Make sure both phones are fully charged (or plugged in) and have at least a stable Wi‑Fi connection for downloading any needed drivers. You will need a computer (Windows, macOS, or Linux) with the Android SDK Platform‑Tools installed.
- USB cable: Use the original cable or a high‑quality data cable. A charging‑only cable will not work.
- Developer options enabled on both phones (Settings > About phone > Tap Build number seven times).
- USB debugging turned on (Settings > System > Developer options > USB debugging).
- Backup allowance: Some manufacturers disable
adb backup on newer Android versions (Android 12+). This guide works reliably on Android 9‑11; for Android 12 and later you may need to use the adb backup flag --allow-backup on a rooted device, which is outside the scope of a no‑root tutorial.
Step 1 – Install Platform‑Tools on Your Computer
- Download the latest Android SDK Platform‑Tools package for your OS.
- Extract the zip file to a convenient location, e.g.,
C:\adb on Windows or ~/adb on macOS/Linux.
- Add the folder to your system
PATH (optional but makes the adb command available from any terminal).
Why? Platform‑Tools contain the adb executable that communicates with the phone over USB. Without it, none of the following steps are possible.
Step 2 – Verify ADB Connection
- Connect the source phone (the one that holds the data you want to copy) to the computer via USB.
- Open a command prompt (Windows) or terminal (macOS/Linux) and run:
adb devices
- You should see a line like
1234567890ABCDEF device. If you see unauthorized, check the phone’s screen for a prompt asking to Allow USB debugging and tap Allow.
- If the device does not appear at all, try a different USB port, reinstall the USB driver (Windows), or enable File Transfer mode in the notification shade.
When the device is listed as device, ADB can communicate with it.
Step 3 – Choose Which Apps to Back Up
Android’s backup command can work in three ways:
- All user apps:
-all backs up every installed app that permits backup.
- Specific package(s): Provide one or more package names after the
-apk flag.
- Include shared storage: The
-shared flag adds files from the /sdcard area (photos, downloads, etc.) for the selected apps.
For a focused transfer, we recommend backing up only the apps you actually need on the new phone. To list package names, run:
adb shell pm list packages -3
The -3 flag shows only third‑party apps (excluding system apps).
Step 4 – Create the Backup File
- Decide on a filename, e.g.,
myapps.ab. The .ab extension stands for “Android backup”.
- Run the backup command. Below are three common variants:
- All apps, no shared storage:
adb backup -apk -all -f myapps_all.ab
- Specific apps (replace
com.example.app with real package names):
adb backup -apk -nosystem -f myapps_selected.ab com.example.app com.another.app
- Include shared storage for those apps:
adb backup -apk -shared -f myapps_full.ab com.example.app
- When the command starts, the phone will display a “Full backup mode” screen asking you to set a password (optional) and confirm the backup. Leave the password blank** if you want a password‑less backup**; otherwise remember the password because you’ll need it for restore.
- Tap Back up my data. The progress bar may stay at “0%” for a while; be patient – large apps or media take time.
- When the backup finishes, the command prompt returns to the shell prompt.
What you should see: A file named myapps_all.ab (or whatever you chose) in the current directory. Its size roughly matches the total data you backed up.
Step 5 – Verify the Backup (Optional but Recommended)
ADB can list the contents of a backup file without restoring it:
adb backup -list -f myapps_all.ab
The output shows each package name and whether it contains APK, data, or shared files. Confirm that the apps you intended to copy appear in the list.
Step 6 – Prepare the Destination Phone
- On the new phone, enable Developer options and USB debugging the same way you did for the source device.
- Install the same version of each app you plan to restore, **or** let the restore process install the APKs for you (the
-apk flag in the backup file includes the original APKs). If you choose the latter, you do not need to pre‑install anything.
- Make sure the destination phone has enough free storage to accommodate the incoming data. A quick way to check is Settings > Storage.
Step 7 – Restore the Backup
- Connect the destination phone to the computer via USB.
- Confirm the device is recognized with
adb devices (it should show device).
- Run the restore command:
adb restore myapps_all.ab
- The phone will display a “Full restore mode” prompt. If you set a password during backup, enter it now. Otherwise, just tap Restore my data.
- Wait for the progress bar to complete. The phone may reboot automatically after the restore finishes; this is normal.
Result: The selected apps appear on the new device with the same internal data (login state, settings, game progress, etc.) as they had on the source phone.
Step 8 – Verify the Restored Apps
- Open each restored app and confirm that your personal data is present (e.g., logged‑in accounts, saved notes, game levels).
- If an app fails to launch, check the app’s permissions in Settings > Apps > App name > Permissions. Sometimes the restore does not re‑grant runtime permissions.
- For apps that store large media files on external storage, you may need to manually copy those files from the source phone’s
/sdcard/Android/data/ folder if you did not include -shared in the backup.
Alternative Methods When adb backup Is Disabled
Starting with Android 12, many OEMs disable the legacy backup API. If the adb backup command immediately returns error: device offline or shows a “Backup not supported” toast, consider these workarounds:
- Use
adb pull on individual app data directories: This requires the app to be debuggable, which most production apps are not. Not recommended for most users.
- Use a third‑party backup app that leverages the newer
adb backup replacement (e.g., “Helium” with desktop companion). Helium works without root on Android 9‑11 but may need a PC component.
- Switch to a cloud‑based backup (Google Drive, Samsung Cloud) for the affected apps. While not a pure ADB solution, it’s often the only reliable path on newer OS versions.
These alternatives are listed for completeness; the core tutorial assumes a device where adb backup works.
Troubleshooting Common Issues
1. Backup Fails with “Backup failed” Toast
- Cause: The app’s manifest sets
android:allowBackup="false". Such apps deliberately block the backup API.
- Solution: You cannot back up those apps with ADB. Install the app fresh on the new device and sign in again, or use the app’s own export feature if available.
2. Restore Shows “Restore failed” and the phone reboots
- Cause: The backup file was created on a different Android version, and the destination device’s OS cannot interpret the older format.
- Solution: Try restoring on a device running the same major Android version as the source, then upgrade after a successful restore.
3. Apps Appear but Data Is Missing
- Cause: The backup was created without the
-shared flag, so files stored on external storage were omitted.
- Solution: Manually copy the missing folders from the source phone using
adb pull /sdcard/Android/data/com.example.app and then push them to the destination with adb push. Ensure the destination path matches exactly.
4. “Device unauthorized” Reappears After a Reboot
- Cause: The RSA key pair stored on the phone was cleared (factory reset or security policy).
- Solution: Re‑enable USB debugging and re‑authorize the computer. On some devices you must also toggle “Revoke USB debugging authorizations” in Developer options, then reconnect.
Safety and Data‑Loss Warnings
- Backup passwords are optional but recommended. If you set a password and forget it, the backup file becomes unrecoverable.
- Never restore a backup onto a device that already contains sensitive data you wish to keep. The restore process overwrites existing app data without prompting.
- Store the
.ab file securely. It contains all private app data in clear form (except for apps that encrypt their own data). Treat it like a raw backup of your phone.
- Do not interrupt the backup or restore process. Disconnecting the USB cable or killing the terminal window can corrupt the backup file.
Putting It All Together – A Real‑World Example
Imagine you are moving from a Samsung Galaxy S9 (Android 10) to a Google Pixel 7 (Android 13). You want to keep your favorite game “Stardust Quest” and a private notes app “SecureNotes”. Here’s a concise checklist based on the steps above:
- Enable Developer options & USB debugging on both phones.
- Install Platform‑Tools on your laptop.
- Connect the Galaxy S9, run
adb devices to confirm connectivity.
- Identify package names:
adb shell pm list packages -3 | grep -i "stardust\|securenotes"
Result: com.stardust.quest and com.securenotes.app.
- Create a backup including APKs and shared files:
adb backup -apk -shared -f game_notes.ab com.stardust.quest com.securenotes.app
- On the Pixel 7, enable debugging, connect, and run:
adb restore game_notes.ab
- After restore, open both apps – you should see your saved game progress and encrypted notes exactly as before.
This workflow demonstrates how ADB can replace cloud sync when you prefer a local, device‑to‑device transfer.
When to Use This Method vs. Cloud Backups
The ADB backup approach shines in three scenarios:
- Privacy‑first users who do not want their data to touch Google’s servers.
- Limited or no‑Internet environments (e.g., on a train or in a remote area).
- One‑off migrations where setting up a new Google account is undesirable.
If you already rely on Google Drive, Samsung Cloud, or a dedicated app’s own sync feature, those services may be more convenient for ongoing backups. The ADB method is best suited for a single, controlled transfer.
Final Thoughts
Using adb backup and adb restore gives you granular control over exactly which apps and data move between Android devices, without ever needing root access or third‑party cloud services. By following the steps above, you can perform a clean, repeatable migration, troubleshoot the common pitfalls, and keep your personal data under your own supervision.