Tình huống: Máy 32GB bộ nhớ trong, mua thẻ SD 128GB vì app nhiều. Đặt thẻ SD làm default storage cài app – nhưng sau thời gian, bộ nhớ trong gần đầy, thẻ SD hầu như không dùng. Vấn đề gì?
Thực tế app được thiết kế chạy từ bộ nhớ trong. Developer có thể config chạy từ SD, nhưng đa số tối ưu cho bộ nhớ trong vì tốc độ đọc/ghi nhanh hơn thẻ SD trong hầu hết trường hợp. Do đó, dù đặt thẻ SD làm "default" cài đặt, tùy chọn app ghi đè tùy chọn của bạn, theo thiết kế của developer. Làm sao buộc app cài vào thẻ SD? Sẽ chỉ vài phương pháp.
Lưu ý: Điện thoại phải đã root. Tìm trên Appuals hướng dẫn root Android.
Phương pháp dùng App
Có vài app buộc di chuyển app từ bộ nhớ trong sang SD. Một số thành công hơn – ví dụ chỉ di chuyển folder /cache sang SD, phần còn lại vẫn ở trong. Chúng giống việc vào Settings > Storage > Apps nhấn "Move to SD Card" – thực chất chỉ là shortcut gói GUI.
Cần app làm trọn vẹn – đó là Link2SD. Tuy nhiên Link2SD yêu cầu init.d support.
Kiểm tra init.d support: cài Universal Init.D từ Play Store.

Cài Universal Init.D, mở, nhấn "Test". Reboot, mở lại Universal Init.D, sẽ báo test thành công hay không. Nếu máy không có init.d support, bật nút "Off/On" trong Universal Init.d để mô phỏng support cần thiết.

Xong phần đó, cài Link2SD từ Play Store, mở. Nhấn nút đầu góc trên phải, lọc app theo Internal storage.

Tìm app muốn chuyển sang SD, nhấn vào. Nếu trên Marshmallow, bỏ qua thông báo "Second partition not found" – vì Marshmallow+ coi thẻ SD là mở rộng bộ nhớ trong, không phải thiết bị riêng. Nhấn "Move to SD card" dưới menu "Android App2SD".
Phương pháp ADB
Kỹ thuật hơn, nhưng buộc điện thoại luôn cài app vào thẻ SD, không cần app di chuyển. Đọc "Cách cài ADB trên Windows" nếu chưa quen ADB terminal.
Sau khi ADB sẵn sàng, cắm điện thoại vào PC qua USB, mở ADB terminal trên máy tính. Gõ lệnh:
adb shell pm set-install-location 2
Để đảo ngược về mặc định, gõ:
adb shell pm set-install-location 0 Nếu lệnh trên không hoạt động, có thể cần format hoàn toàn thẻ SD trên PC, cắm lại vào Android, chọn làm Portable storage thay vì Internal. Nhưng nếu thiết bị trước đây coi thẻ SD là mở rộng bộ nhớ trong, không thể đơn giản format và chuyển sang Portable storage mà không factory reset máy. Vì trên một số Android Marshmallow+, hệ thống "adopt" thẻ SD làm mở rộng bộ nhớ trong, không phải thiết bị lưu trữ riêng – do đó thẻ SD chứa dữ liệu hệ thống quan trọng, rút thẻ SD sẽ làm Android loạn.