廠商通常會把NAND分割出一部份掛載到/sdcard/。
如果裝置上還有sdcard插槽的話,可以額外再外加掛在別的目錄。
一般裝置預設似乎都在/sdcard/external_sd/、我用的S3則是掛在/storage/extSdCard/上。
有些大型程式如Asphalt 6會額外下載遊戲資料到sdcard。
看著自己內部的儲存空間越來越少,而較大的外部儲存空間卻沒完全利用,應該很多人很不爽吧!(像我就是...XD)
這時候就該讓這個XDA上面神人寫的APP出場了。
DirectoryBind
先說明一下原理,這個APP是利用linux的mount指令的bind選項,可以指定一個存放資料的資料夾和一個空的資料夾綁定,讓其內容指向存放資料的資料夾。
廢話不多說,來看看這程式該如何使用,這程式需要root。
這是程式的畫面,注意一下每一行前面的檔案符號、後面的綠色鉤號、右下角的開關都要打開程式才會幫你掛載。
如果檔案符號是綠色的表示掛載成功、紅色是失敗、灰色是未掛載。

按menu後出來程式選單:

Add new entry是增加新的項目
Unbind all是把所有設定好的資料夾停止綁定
Preferences是程式設定
Bind checked是把有打勾的項目綁定起來
Refresh use status是更新目前狀態
更多裡面有備份和恢復軟體設定的選項
在使用前需要先做些設定:
進到Preferences請照下面兩張圖去勾選


有些特別的選項講解一下:
Alternate dbase mgnt這個選項是某些手機在重開機後連結的設定會不見(S3就會),這時候可以勾選試試看。
Default data/target path這兩個選項是預設的連結路徑,data是你要存放資料的預設路徑,通常都是設定成外部記憶卡的路徑(/storage/extSdCard/、/sdcard/external_sd/)
target則是其他程式執行時的預設路徑(/sdcard/)
請注意大小寫是否正確,linux的路徑是有大小寫之分的。
接下來就是正式設定資料夾綁定了,請按Add new entry增加綁定項目。

第一項的Enter source(data) path是設定你存放資料的資料夾,長按輸入的方塊會跳出讓你選擇的視窗。
Enter mount(target) path是你的目標資料夾,一樣長按會跳出選擇資料夾視窗。
要注意的是,以一般mount的操作,目標資料夾必須是個空資料夾。
所以如果你的目標資料夾不是空的話,程式會跳出警訊。
你這時候就要把目標資料夾的內容物先搬到來源資料夾。
不過這個程式很貼心的幫你做了個Transfer files from target to data的選項,會幫你搬。
簡單來說就是目標資料夾和來源資料夾兩個一定有一個是空的,如果目標資料夾是空的,那Transfer files from target to data就不需要勾選,反之就要勾選。
按Add就設定好項目了。
最後別忘了按前面的檔案符號才真正有綁定。
---
例如:
Android程式的資料如果預設放在sdcard的話...
路徑是:/sdcard/Android/
也就是來源(data)資料夾路徑應該是在/storage/extSdCard/下,建一個空資料夾隨便取一個名字。
目標資料夾則是:/sdcard/Android/
並且勾選Transfer files from target to data。
當然你熟script的話也可以自己寫丟在init.d去跑...XD