萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 手機 >  >> 手機應用 >> Android 教學

安卓應用移至SD卡完整教程:SD卡分區(Ext3)+軟鏈接遷移/data/app 突破內存限制

早期 Android (2.x/4.x) 內部存儲 (ROM) 極小 (512MB-2GB),應用僅能安裝到 /data/app。通過 **SD 卡分區 (FAT32 + Ext3) + bind mount 軟鏈接** 可將應用安裝目錄遷移至 SD 卡 Ext3 分區,大幅擴展可用空間。現代 Android (6.0+ Adoptable Storage / 10+ 動態分區) 已原生支援,本教程具歷史技術參考價值。

核心原理

SD 卡分兩區:FAT32 區 存放媒體文件 (電腦可讀);Ext3 區 掛載為 /system/sd,將 /data/app 移動至此並建立符號鏈接 ln -s /system/sd/app /data/app,系統以為仍在內部存儲,實際寫入 SD 卡 Ext3 分區。

操作全流程

一、SD 卡分區 (電腦端 Acronis Disk Director Suite)

  1. 讀卡器插入 SD 卡,打開軟體,右鍵 SD 卡磁盤 → 「刪除」現有分區 → 變為「未分配」。
  2. 右鍵未分配空間 → 「創建分區」:文件系統 **FAT32**、主分區、大小自定 (如 2GB 卡分 1.35GB)。
  3. 右鍵剩餘未分配 → 「創建分區」:文件系統 **Ext3**、主分區、大小剩餘 (如 494MB)。
  4. 工具欄點擊「提交」執行分區,提示成功。

二、終端命令遷移 /data/app (手機端超級終端/ADB Shell)

su                          # 獲取 Root,選「總是允許」
busybox df -h               # 驗證 /dev/block/mmcblk0p2 (Ext3分區) 已掛載
cp -a /data/app /system/sd/ # 複製整個 app 目錄到 Ext3 分區
rm -r /data/app             # 刪除原目錄
ln -s /system/sd/app /data/app  # 建立軟鏈接
reboot                      # 重啟生效

三、驗證與後續

  • 重啟後進設定→應用→查看已安裝應用,體積顯示為「SD 卡」。
  • 可用內部存儲空間顯著增加 (作者實測 87MB → 80MB,差值為 App 緩存仍佔用內存)。
  • 刷機後恢復:同樣命令將 /system/sd/app 複製回 /data/app 重建鏈接,無需重裝 App。

注意事項與避坑

  • 桌面 Widget 失效:遷移後原桌面小工具顯示空白,需刪除重新添加。
  • SD 卡不可熱拔插:Ext3 分區屬系統關鍵掛載點,拔卡會導致應用崩潰/系統不穩,插回重啟恢復。
  • 緩存數據仍佔用內部存儲:/data/data/pkg/cache 不會遷移,遷移緩存會拖慢 I/O,不建議。
  • Ext3 兼容性:Windows 需 Ext2Fsd/Paragon 讀寫,Linux/Mac 原生支援。
  • 風險:SD 卡讀寫速度/壽命遠遜 eMMC,隨機讀寫性能差會導致 App 啟動變慢、卡頓。Class 10/UHS-I 以上卡體驗較好。

此方案在 Android 2.2-4.4 時期廣泛流行 (Link2SD / Apps2SD / Darktremor A2SD 等工具自動化),是早期小內存手機用戶的救星。現代大內存 (64GB+)、Adoptable Storage、動態分區已徹底解決此問題。

copyright © 萬盛學電腦網 all rights reserved