為了區(qū)分2種App2SD,這里重新解釋一下:
App2SD: Android 2.2版本內(nèi)置的App2SD
App2SD+: 國外牛人從1.5系統(tǒng)開始搞的App2SD將更多的東西放到sd卡,省出更多空間。
這兩種App2SD有著明顯的區(qū)別,如下:
App2SD: 直接把軟件裝在SD卡的Fat32分區(qū)上,這個分區(qū)就是手機連接電腦使用磁盤驅(qū)動器的時候看到的那個硬盤分區(qū),所以,2.2的android,Google給了一種將軟件安裝到sd卡的辦法,這樣就能安裝更多軟件。Sd上會生成一個大概叫做 .android_secure的文件夾,將軟件安裝到里面。這樣做有2個很大的缺點:

當使用磁盤驅(qū)動器模式的時候,SD卡被電腦獨占,裝在SD卡上的程序無法運行,會導致很多插件和軟件消失
目前來說Android上面的軟件很多還是不支持App2SD的,只有極少數(shù)一部分可以裝在SD卡上,即便能移動過去,不是所有的軟件數(shù)據(jù)都移動到sd卡,同樣有一些信息是需要保留在NAND上面的,所以,你的手機照樣會很快就用完內(nèi)部存儲。你可以通過命令行強制將所有軟件都裝到sd卡上。但這么做的后果就是,小插件什么的就不再能用。這就是官方2.2的app2sd。



App2SD+: 通過給SD卡分區(qū), 一個Swap分區(qū)(可選),一個Ext分區(qū)(安裝軟件的地方),一個Fat32分區(qū)。這種方式很好的解決了官方2.2系統(tǒng)自帶App2SD的缺點,所有程序都可以裝在SD卡上,在使用磁盤驅(qū)動器模式的時候也不會影響到SD卡上程序的運行。只是這個ext系統(tǒng)是android內(nèi)部存儲用的格式。Sd卡之所以一般都是fat32格式,那是因為這個格式的使用是最廣泛的,windows,linux,都能使用這個格式,而ext格式一般來說,只是在linux下可以看到并讀取。Ext格式有不同的版本。最常見的就是ext3。和ext2比起來,最大的不同就是ext3格式有了“日志”(Journal)功能。日志功能最大的好處,就是當你的操作(如對sd進行讀取或者寫作的過程中)因為意外原因別打斷(比如,突然斷電),那么,有日志功能的ext3分區(qū)上的文件,不會有任何損壞或者丟失。當我們每次打開我們的電話時,上面總是提示“正在準備sd卡”。每次都提示正在準備,但其實系統(tǒng)正在做的就是檢查fat32格式是不是損壞,這正是因為fat32格式不具備日志功能。回想一下以前在windows98年代的日子,每次當我們并非正確關(guān)機或者突然重啟之后,會出來一個帶著掃描進度條的藍屏,這個掃描進度條和現(xiàn)在正在準備sd卡,是一個意思。但當我們后來用windows 2000、windows xp時,因為這兩個系統(tǒng)開始支持帶有日志功能的ntfs,所以在這兩個系統(tǒng)下,文件系統(tǒng)損壞的可能被降低了。至于ext格式是ext3還是ext4,不是很重要。使用ext4,并不會帶來什么好處(譯者注:有時候rom不支持ext4,反而麻煩)。


判斷App2SD 和 App2SD+是否啟用的方法
App2SD: 進入設置-應用程序-管理應用程序- 找一個支持App2SD的程序,例如 ES 文件瀏覽器, 點擊進去 看一下 移至 SD 卡 按鈕是否可以點, 如果可以點,代表系統(tǒng)支持 App2SD,如果不可以點 有可能是某些程序本身不支持App2SD或者系統(tǒng)不支持App2SD


App2SD+: 如果你的SD卡在刷系統(tǒng)之前已經(jīng)存在 Ext分區(qū), 那么在刷完帶App2SD+的 Rom以后會自動開啟App2SD+。判斷是否成功開啟App2SD+,可以通過下面的幾種方法:
把手機連接到電腦上,然后再電腦上 輸入 adb ls /system/sd/app/ 然后回車,查看該目錄下是否有apk文件,如果有那么恭喜你,你的系統(tǒng)已經(jīng)開啟App2SD+,
或者通過Rom自帶的文件瀏覽器進入 /system/sd/app/ 目錄,查看這個目錄下是否有apk文件,如果有那么恭喜你,你的系統(tǒng)已經(jīng)開啟App2SD+,
可以在手機上使用其他文件瀏覽器查看,或者在手機上使用終端軟件輸入命令 ls /system/sd/app/ 來查看。
下面介紹如何開啟App2SD和App2SD+:先介紹App2SD,然后再詳細介紹App2SD+。
開啟和關(guān)閉2.2系統(tǒng)自帶的App2SD在電腦上用輸入下面的命令來開啟或者關(guān)閉App2SD:
adb shell pm setInstallLocation 0
adb shell pm setInstallLocation 1
adb shell pm setInstallLocation 2
注釋:
0 代表自動(這個是默認值,如果你曾經(jīng)開啟過App2SD,想關(guān)閉的話,通過adb shell pm setInstallLocation 0就可以關(guān)閉App2SD功能了)
1 代表手機存儲
2 代表SD卡。
也可以通過adb shell pm getInstallLocation 來獲取當前的設置。


DATA2SD和DATA2EXT:最新的擴展機身內(nèi)存技術(shù),類似與A2SD+之類的,相比之前的方案速度更快,空間更大,機器I/O性能提升明顯。據(jù)網(wǎng)友測試,miui等超頻類ROM象限跑分高達2000分,刷帶有DATA2SD和DATA2EXT支持的ROM。如果是原來的A2SD+、apps2sd、app2sd+之類的也可以兼容,只是第二分區(qū)可能會浪費較多空間


當然要使用App2SD+,就要給SD卡分區(qū),(省略)

用一種簡單的方法讓普通的rom實現(xiàn)a2sd+。
使用方法:
1. 禁用Froyo自帶的app2sd功能(如何禁用請參閱相關(guān)帖子);
2. 推薦通過Recovery刷入,但是切勿wipe任何項目。熟悉adb shell的也可以用超級終端;
3. 刷完重啟系統(tǒng),默認激活system/app+system/data to ext3;如果希望cache to ext3,須在超級終端輸入:a2sd cachesd 以激活該功能。