本人用的 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