Learn how to move apps to SD card using ADB commands to expand internal storage. A step-by-step guide to bypass restrictions and free up massive space on your phone.
Do you constantly suffer from full internal memory on your Android phone despite having an empty SD card? You are not alone. With increasing app sizes and frequent updates, internal storage has become a nightmare for many Android users. Fortunately, there is effective technical solution that allows you to move apps to the SD card even if your phone does not allow it by default.
I am Mostafa Aman, and through my years in the tech field and continuous experience with various Android systems, I discovered that the ADB (Android Debug Bridge) tool is the perfect solution to this dilemma. In this comprehensive guide, I will explain in detail how to use ADB commands to move apps to the SD card, covering all scenarios and potential issues.
What is ADB and Why Use It?
ADB (Android Debug Bridge) is a versatile command-line tool that lets you communicate with an Android device from a computer. Simply put, it allows you to execute advanced commands on your phone that are not accessible via the standard user interface.
We use ADB to move apps to the SD card for the following reasons:
- Bypass Manufacturer Restrictions: Some phones disable the "Move to SD" option in Settings.
- Move Unsupported Apps: Some apps don't show the "Move to SD" option even if they technically support it.
- Efficiency: You can move multiple apps at once instead of one by one.
- Full Control: ADB gives you broader privileges to interact with the Android system.
Prerequisites Before Starting
Before proceeding with moving apps, you need to prepare a few things on both your phone and computer. Let me explain these requirements in detail.
Enable Developer Options and USB Debugging
Developer Options is a hidden menu in Android settings containing advanced tools. USB Debugging is the option that allows your computer to communicate with your phone via ADB.
To Enable Developer Options:
- Open Settings on your phone.
- Go to About Phone.
- Find Build Number.
- Tap on Build Number 7 times consecutively until you see the message "You are now a developer".
To Enable USB Debugging:
- Go back to the main Settings menu.
- You will find a new option called Developer Options (might be under "System" on some phones).
- Open Developer Options and enable USB Debugging.
- Approve the confirmation message that appears.
Screenshot showing USB Debugging location in Developer Options
Install ADB Tools on Computer
You need to download and install Platform Tools on your computer. The process is simple and requires no advanced technical knowledge.
For Windows:
- Download Platform Tools from the official Android Developers website.
- Extract the downloaded file to an easily accessible folder (e.g.,
C:\platform-tools). - Open the folder, hold Shift + Right Click, and select "Open PowerShell window here" or "Open command window here".
For macOS:
- Download Platform Tools for Mac from the link above.
- Extract and open Terminal.
- Navigate to the tools folder using the
cdcommand.
For Linux:
- You can install ADB directly via package manager:
sudo apt install adb
Or for Fedora-based distributions:
sudo dnf install android-tools
Format SD Card as Internal Storage (Adoptable Storage)
Before moving apps, you might need to format your SD card as Internal Storage instead of Portable Storage. This is necessary on some phones to enable app moving.
There are two ways to format the card:
Method 1: From Phone Settings (If available):
- Go to Settings > Storage.
- Select SD Card.
- Tap the menu (three dots) and select Storage Settings.
- Select Format as Internal.
Method 2: Using ADB (If option is hidden):
Some manufacturers like Samsung hide this option. You can enable it via ADB:
adb shell
sm list-disks
You will see the disk ID (e.g., disk:179,64). Then execute:
sm partition disk:179,64 private
Replace disk:179,64 with the ID you saw. This will format the entire card as internal storage.
sm partition disk:179,64 mixed 50
Steps to Move Apps to SD Card Using ADB
Now to the most important part. I will walk you through the detailed steps to move apps using ADB commands. Follow each step carefully.
Connect Phone and Verify Connection
- Connect phone to computer via USB cable (original cable preferred).
- On phone, select File Transfer (MTP) from the USB notification.
- Open Command Prompt/Terminal in the Platform Tools folder.
- Type the following command:
adb devices
If your device ID appears followed by device, the connection is successful. Example:
List of devices attached
RF8N90XXXXX device
If you see unauthorized, check your phone screen and approve the USB Debugging prompt, then run the
command again.
Moving a Single App
First, obtain the Package Name of the app. This is the unique identifier for each app on Android.
To find an app's package name:
adb shell pm list packages | findstr "app_name"
For example, to find Facebook:
adb shell pm list packages | findstr "facebook"
Result will be like: package:com.facebook.katana
To move the app to SD card:
adb shell pm move-package com.facebook.katana [UUID]
Where [UUID] is the SD card ID. To get it:
adb shell sm list-volumes
Look for the line containing mounted and copy the UUID (e.g., private:179,67).
Full Example:
adb shell pm move-package com.facebook.katana private:179,67
Moving Multiple Apps at Once
If you have many apps, create a simple script to speed it up.
Windows (.bat file):
@echo off
set UUID=private:179,67
adb shell pm move-package com.facebook.katana %UUID%
adb shell pm move-package com.instagram.android %UUID%
adb shell pm move-package com.twitter.android %UUID%
adb shell pm move-package com.whatsapp %UUID%
echo Done!
pause
Save as move-apps.bat in the Platform Tools folder and run it.
macOS/Linux (.sh file):
#!/bin/bash
UUID="private:179,67"
adb shell pm move-package com.facebook.katana $UUID
adb shell pm move-package com.instagram.android $UUID
adb shell pm move-package com.twitter.android $UUID
adb shell pm move-package com.whatsapp $UUID
echo "Done!"
adb shell pm list packages -3
Alternative: Change Default Install Location
You can set the system to install new apps to the SD card automatically.
adb shell pm set-install-location 2
Value Meanings:
| Value | Meaning |
|---|---|
| 0 | Auto (System decides) |
| 1 | Internal Storage Only |
| 2 | External Storage (SD) Preferred |
To check current setting:
adb shell pm get-install-location
For more technical details about SD card types and speeds, check our guide on Everything you need to know about SD Cards.
If you face issues with specific apps refusing to move, we recommend reading our guide on How to Force Apps to Move to SD Card for more advanced solutions.
Comparison: Movable vs Non-Movable Apps
| App Type | Movable? | Reason |
|---|---|---|
| System Apps | ❌ No | Baked into system partition |
| Apps with Widgets | ⚠️ Partially | Widgets might stop working |
| Alarm Apps | ❌ Not Recommended | Might fail on boot |
| VPN/Security Apps | ❌ Not Recommended | Need run-at-boot permissions |
| Large Games | ✅ Yes | Perfect for saving space |
| Social Apps | ✅ Yes | Usually work fine |
| Media Apps | ✅ Yes | YouTube, Netflix, etc. |
Troubleshooting Common Issues
Issue 1: "Failure" message when moving app
Possible Cause: App doesn't support moving, or SD card not formatted correctly.
- Ensure SD card is formatted as Internal Storage.
- Restart phone and try again.
- Some apps are locked by developers and cannot be moved.
Issue 2: Device shows "unauthorized"
- Unlock phone screen.
- Look for USB Debugging popup.
- Check "Always allow from this computer" and tap "OK".
- Run
adb devicesagain.
Issue 3: Device not listed at all
- Install phone USB drivers on PC.
- Try another USB cable (original is best).
- Try another USB port.
- Restart ADB server:
adb kill-server adb start-server
Issue 4: Apps run slow after moving
Cause: SD Card speed is slower than internal storage.
- Use a high-quality SD Card rated U3 or A2.
- If slowness persists, move the app back:
adb shell pm move-package com.app.package internal
Important Tips & Warnings
- Use high-quality cards from reputable brands like Samsung or SanDisk.
- Choose A1 or A2 rated cards.
- Backup data before modifying anything. Check Essential Steps Before Android Factory Reset.
- Never remove the card without unmounting it first.
- Do not move core system apps - causes instability.
- Adoptable Storage is encrypted - won't work on other devices.
- Sudden removal causes data loss or app crashes.
- Some updates might move apps back to internal - check periodically.
Conclusion
Moving apps to SD card via ADB is a powerful solution for full internal memory. While it requires some technical steps, it's manageable if you follow instructions carefully.
Remember that success depends on your phone model, Android version, and SD card quality. Don't hesitate to share your experience in the comments!
Frequently Asked Questions (FAQ)
Does moving apps to SD card slow down the phone?
It depends on card speed. Slow cards (Class 4/10) cause lag. Use U3 or A2 cards designed for apps.
Can I use the SD card on another phone after formatting as internal?
No, it becomes encrypted and tied to the specific phone. To use elsewhere, you must reformat it (erasing all data).
What happens if I remove the SD card?
Moved apps will disappear and crash until you reinsert the card. Do not move essential apps like Dialer or Messages.
Does this work on all Android phones?
It works on most phones with Android 6.0+, including modern versions like Android 16. Samsung disables Adoptable Storage, but ADB can force-enable it as shown.
Should I move Google Play Services?
No. Never move Google Services or core system apps as they need to run at boot before SD card mounting.
We'd love to hear your thoughts! Leave a comment below
and share your experience or questions.