目前Android高階智慧型手機或平板大部分都有16G至32G的NAND。
廠商通常會把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
謝謝你花時間寫教學文。不過這個是需要root的,有沒有不需要root的解決方案呢?
bookworm99 wrote:
謝謝你花時間寫教學文。不過這個是需要root的,有沒有不需要root的解決方案呢?

這類型的目前都要root...因為涉及到rom內部的預設行為...所以沒root沒辦法做...
Ain't about what's waitin on the other side,It's the climb~
gkeiko wrote:
非常感謝! 提供一下網上蒐來的DirectoryBind 0.2.0o 繁體版 給即將入手note 2的朋友們^^

轉貼別人的檔案建議要把原來網址丟出來...這是種禮貌...

froce wrote:
目前Android高...(恕刪)

感謝froce大大辛苦寫的教學文...又學到一個東西了....
有空再來試試看...

froce wrote:
目前Android高...(恕刪)
froce大大的教學寫的很詳盡,感謝大大!!
感謝froce大分享
小弟有個問題就是利用DirectoryBind把/sdcard APP 掛在/storage/extSdCard上
那原先APP資料還是存在sdcard 裡面,記憶卡空間不是又被佔據嗎?
Steve Jobs wrote:
感謝froce大分享
小弟有個問題就是利用DirectoryBind把/sdcard APP 掛在/storage/extSdCard上
那原先APP資料還是存在sdcard 裡面,記憶卡空間不是又被佔據嗎?

雖然簡訊我回過了...不過還是在這回一下...

當然不會有你說的情形...
做完綁定後雖然你在資料路徑和目標路徑都能看到資料...
不過實際上新寫入的資料都會放在資料路徑...

不信的可以自己建一個綁定試試看...
綁定完在目標路徑下新建個檔案...
然後到程式裡暫時取消綁定(綠色檔案符號變成灰色)...
你可以看到資料路徑裡有你新建的檔案...目標路徑沒有...
大大,我看來看去,還是不太清楚,

Enter source(data)

這第一項,是我想放在哪裡的 目標資料夾嗎?

Enter mount(target)

第二項,是 我要讓哪裡的資料夾內容出去嗎?

第三點請問,這些都設定好了,以後下載的東西,全都會自己去 外部記憶卡了嗎?

我是用 nonet2,

他預設路徑是

第一項 /sdcard/external_sd/

第二項 /sdcard/

我如果要讓 所有app 都去 外部記憶卡,我該怎麼設路徑?

感謝大大的分享,小弟不才沒能看懂,特來請教
回文 請針對該主題,語帶調侃諷刺我會無條件漠視,不需要回那些無意義的文,歡迎指教。
關閉廣告
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!