Newer Android versions reserve internal storage for system files and app data. If your device’s internal storage is filling up, moving compatible apps to an SD card can free up space for photos, videos, and future installs. Android 11 introduced stricter controls over adoptable storage, but the basic workflow remains the same: format the card as internal (adopted) storage, then tell Android to place the app’s files there.
Class 10 or UHS‑I for decent performance.Android distinguishes between two SD‑card modes:
From Android 11 onward, the UI for adopting a card is hidden on some OEM skins, but the underlying commands remain the same. This guide uses the standard Settings UI where available, and falls back to ADB commands for devices that hide the option.
Settings → Storage.SD card).After formatting, the SD card appears under Internal shared storage alongside your built‑in memory. Android may automatically move some data (e.g., cached files) to the new space.
Settings → Storage. You should see a single storage summary (e.g., 128 GB total) that includes the SD card capacity.Internal shared storage → Explore. The file manager will now show both built‑in and SD‑card space as one pool.If the card still shows as Portable, your device’s manufacturer may have disabled adoptable storage in the UI. In that case, you can use ADB (see the troubleshooting box at the end).
Settings → Apps & notifications → See all apps.Facebook).Storage. If the app supports moving, you’ll see a button labelled Change under Storage used.When the move finishes, the Storage used line will show SD card as the location.
Settings → Storage → Internal shared storage → Explore.Android folder, then data. Look for a folder named after the app’s package (e.g., com.facebook.katana). Its presence here confirms the app’s data resides on the adopted space.If you don’t see the folder, the move may have failed or the app simply does not support adoption.
Repeating the above steps for each app can be tedious. Android 11+ offers a bulk‑move option:
Settings → Storage → Free up space (or Storage manager on some devices).This method respects each app’s own restrictions and skips those that cannot be moved.
android:installLocation="auto or "internalOnly" manifest flag.Attempting to move any of these will result in the Change button being disabled or a toast message saying the app cannot be moved.
Some OEM skins (e.g., Samsung One UI, Xiaomi MIUI) hide the adoptable‑storage option. You can force adoption via ADB:
adb shell sm list-disks
# Identify the disk ID, e.g., disk:179,64
adb shell sm partition DISK_ID private
# Replace DISK_ID with the actual ID
After running the command, restart the phone and revisit Settings → Storage. The card should now appear as internal.
AndroidManifest.xml flag (most users can’t see this, but the symptom indicates the flag is set to internalOnly).This usually happens when the adopted SD card is removed or fails to mount. Ensure the card is firmly seated and that the device’s power‑saving settings are not disabling the card.
Adopted SD cards are typically slower than built‑in flash storage. If you notice lag, move performance‑critical apps (games, launchers) back to internal storage using the same Change button.
If your device blocks adoption and you’re comfortable with a little command‑line work, you can use adb shell pm set-install-location 2 to set the default install location to external. This does not guarantee that every app will move, but new installs will prefer the SD card. Remember that this setting is reset after a factory reset.
Moving apps to an SD card on Android 11 and later is a practical way to reclaim internal space, provided you understand the limitations and follow the preparation steps. By formatting the card as adopted storage, verifying the move, and troubleshooting common pitfalls, you can keep your device responsive without resorting to rooting or third‑party hacks.









