📁 last tech Posts

How to Move Apps to SD Card using ADB Commands: Definitive Guide

Move Apps to SD Card using ADB commands: Definitive Guide

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.
💡 Important Info: ADB is part of the Android SDK Platform Tools provided by Google for free, and it is the official tool developers use to interact with Android devices. For more details about this tool, check our comprehensive guide on ADB.

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:

  1. Open Settings on your phone.
  2. Go to About Phone.
  3. Find Build Number.
  4. Tap on Build Number 7 times consecutively until you see the message "You are now a developer".

To Enable USB Debugging:

  1. Go back to the main Settings menu.
  2. You will find a new option called Developer Options (might be under "System" on some phones).
  3. Open Developer Options and enable USB Debugging.
  4. Approve the confirmation message that appears.
Screenshot showing USB Debugging location in Developer Options

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:

  1. Download Platform Tools from the official Android Developers website.
  2. Extract the downloaded file to an easily accessible folder (e.g., C:\platform-tools).
  3. Open the folder, hold Shift + Right Click, and select "Open PowerShell window here" or "Open command window here".

For macOS:

  1. Download Platform Tools for Mac from the link above.
  2. Extract and open Terminal.
  3. Navigate to the tools folder using the cd command.

For Linux:

  1. 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.

⚠️ Important Warning: Formatting the SD card as Internal Storage will erase all data on it. Make sure to backup your files first. Also, the card will be encrypted to work only with this phone. Learn more about how to backup your Android phone.

There are two ways to format the card:

Method 1: From Phone Settings (If available):

  1. Go to Settings > Storage.
  2. Select SD Card.
  3. Tap the menu (three dots) and select Storage Settings.
  4. 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.

💡 Tip: If you want to split the card so part is internal and part is portable for files, use the following command (50 means 50% portable):
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

  1. Connect phone to computer via USB cable (original cable preferred).
  2. On phone, select File Transfer (MTP) from the USB notification.
  3. Open Command Prompt/Terminal in the Platform Tools folder.
  4. 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!"
💡 Pro Tip: To list only user-installed apps (excluding system apps), use:
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
⚠️ Note: This setting might not work for all apps. Apps explicitly requiring internal storage will ignore this.

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 devices again.

Issue 3: Device not listed at all

  1. Install phone USB drivers on PC.
  2. Try another USB cable (original is best).
  3. Try another USB port.
  4. 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.

adb shell pm move-package com.app.package internal

Important Tips & Warnings

✅ Success Tips:
⚠️ Warnings:
  • 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.

Add Valley4Techs as a Preferred Source

Follow us on Google News for the latest updates

Add Now
Mostafa Amaan
Mostafa Amaan
Technical educational content creator on my blog and YouTube channel. My goal with this content is to eradicate information technology literacy.
Comments