关于App2SD+不得不说的事，请全民App2SD+吧!【转】

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