本人用的 MIUI ROM,機型 G7,經過不洩的努力,終於把我的 16G 卡分好區做成 App2SD+,現在正深深的插在 G7 裡,享受著 App2SD + 帶來的極大快感。
本貼屬於老技術貼,分享一下而已,不是精品不收錄,當然根據我自己的體驗做了一定修改。
可能很多人都會有這樣的誤解,App2SD 不就是把應用程序安裝到卡上嗎?這個用豌豆荚都可以實現強制安裝應用到 SD 卡上!事實上,App2SD 和 App2SD + 實際上是 App2Ext,即把存儲卡分出一個分區給 Android 使用,讓存儲卡和 Android 系統緊密結合在一起。與 Android 2.0 以上版本自帶的 App2SD 不同的是,後者只是把應用程序安裝到存儲卡的.android_source 文件夾中,應用程序的數據、緩存都還在手機內部存儲裡。那麼 App2SD + 到底有什麼好處,相信看過上面提到的貼子的人都明白了。
一、為什麼要 App2SD+
欲做 App2SD+,先了解下 App2SD + 的相關知識。
二、為你的存儲卡分區
有兩種方法可以實現:
方法 1:利用 PC 上的分區工具給存儲卡分區!
(建議先嘗試下文的方法 2,但你有必要看完方法 1 裡提到的分區劃分。)
常見的分區工具如:Acronis Disk Director、DiskGenius 都可以實現把存儲卡同時分出 Ext 格式和 FAT 格式。
(PS. 我用 DiskGenius 分區時只能分出 Ext2 格式,而 Ext3 格式更適合 Android,特別是 MIUI 貌似只支持 Ext3。)
將存儲卡分成 3 個區,第一個區是正常的手機存儲空間:FAT32,第二個區是 App2SD + 用到的分區:EXT3,第三個區是 Android 系統用到的 Linux 交換區。
方法 2:用 Android 系統中的 Recovery 來分區!
此方法最簡單,無需折騰,由於不同機型的 Recovery、甚至同一機型不同 Recovery 版本的操作菜單都有所差別,但大都提供了 Partitions Menu 功能選項,進入該菜單,選擇 Partitions sdcard,即可按提示進行分區。
具體過程:
1)以 G7 為例,關機狀態下按住音量減鍵點一下開機鍵,不要放開音量減鍵直至進入 FASTBOOT 界面,用滾輪選擇 Recovery,按電源鍵確定進入。
2)手機重啟到 Recovery,選擇 Partitions Menu 進入,選擇 Partitions sdcard 進入,選擇 Partitions SD 進入。
3)問你確定要分區嗎?按滾輪確定,然後跳出 Swap-size 和 Ext3-size 選項,用滾輪上下調整空間大小,最後確定開始分區,沒分配的空間就是 FAT32 存儲空間。
4)耐心的等待你的屏幕上正在跳...............,跳多久視情況而定,一般 5 分鐘以內就能分好,如果一直在跳........10 分鐘以上,那麼恭喜你,你中獎哦,遇到了神秘問題,放棄此方法!
三、在 Android 系統裡開啟 App2SD+
首先我要說明的是:App2SD + 和 App2SD 只有那麼一點微小的區別,App2SD + 就是把應用程序緩存和應用程序數據都存儲到了 Ext3 分區裡,而 App2SD 只是把應用程序安裝到了 Ext3 分區裡,而應用程序的數據和緩存都還是存儲在手機內部存儲裡,這一點和文章開頭提到的 Android 2.0 以上版本自帶的 App2SD 有點像。具體你是要 App2SD 還是要 App2SD+,看你的選擇,開始吧:
首先保證你的手機裡有超級終端,進入開始輸入命令:
# su
回車,如果提示授權,請授權!
# a2sd reinstall
回車,手機自動重啟,這一步是重新加載 a2sd 功能,並且會把你已經安裝過的軟件移到 Ext 分區裡。
OK,到現在,App2SD 已經成功了,如果要 App2SD+,繼續往下:
重啟後繼續進入超級終端模擬器運行以下命令:
# su
回車
# a2sd zipalign
回車
# a2sd cachesd
回車,手機自動重啟,App2SD + 就算成功了,如果你的手機還未安裝過任何應用程序,安裝幾個先。
現在,打開 Root Explore (如果你手機上還沒有,就安裝個先),看手機根目錄是否已經有了個 “sd-ext” 文件夾,進入這個文件夾,看有沒有 app、app-private、dalvik-cache 這樣的文件夾,如果有,恭喜你,你已經 App2SD + 了。
----------------------------------
如果你的存儲卡已經分出 EXT 分區,但不知道如何開啟 A2SD + 的,請使用該工具:Plus 工具箱 CM 專用版,基於 CM 的系統都可以用,比如 MIUI。
CM_PlusToolbox2.00_lessicon_build110411_2 .apk
看了些回覆,把一些常規提問做一下回覆:
1、輸入命令# a2sd reinstall 時不起作用,不會重啟。
可能性 1:分區不正確,無法被系統識別 EXT 分區;
可能性 2:你沒有輸入 #su,來獲得最高權限;
可能性 3:系統不支持 A2SD+,這一可能僅適用於非 MIUI 系統,或非基於 CM 的系統。
2、如何知道已經正確分區?
答:看下你的 EXT 分區是否被系統識別了?MIUI 參照:設置》系統》SD 卡》-A2SD + 那裡有沒有總容量和可用空間。(MIUI 會自動識別正確的 EXT 分區,並開啟 A2SD 功能,但不會默認開啟 A2SD+,即應用程序緩存、應用程序數據還在手機內部存儲裡。)如果已經顯示總容量,說明分區正確,只需要執行上文的第三步,開啟 A2SD + 即可。(當然,你也可以選擇使用附件裡的工具。)
3、我已開啟 ap2sd+,重新刷了 ROM 後,ap2sd + 還保留嗎?是不是還得重新做?重刷 ROM 後,只要存儲卡分區沒有變化,那麼 A2SD 功能對於 MIUI 來說是還在的,你只需要執行上文第三步的命令即可開啟 A2SD+。
有問題請回帖,我會不定期來回覆。
-----------------------
使用兩個月後經驗補充:
1、如果在使用過程中,A2SD + 出現了什麼未知問題導致失效(比如 EXT 分區中的程序打不開),建議試試:
# a2sd repair
這是一個修復命令,有益無害。
2、上文提供的命令只是把程序緩存(chache)移到了 EXT 分區裡,如果你還想把程序數據(data)也移到 EXT 分區,執行:
# a2sd datasd
(後悔 data 移入 EXT 的命令:#a2sd nodata)
3、不想用 A2SD 了?
執行:#a2sd remove