App2SD和App2SD+简介

在Android手机刚面世的时候,系统版本1.5和后来的2.1都不支持把程序装到SD卡上,由于系统内置的空间较小,装不了太多软件,于是有国外的牛人搞出了App2SD的概念,就是把软件装在SD卡上。在官方推出2.2版本系统的时候就把这个概念整合到系统, 于是出现了2种App2SD.

为了区分2种App2SD,这里重新命名一下:

  • App2SD: Android 2.2版本内置的App2SD
  • App2SD+: 国外牛人从1.5系统开始搞的App2SD

 

这两种App2SD有着明显的区别,区别如下:

  • App2SD: 直接把软件装在SD卡的Fat32分区上,这个分区就是手机连接电脑使用磁盘驱动器的时候看到的那个硬盘分区,这样做有2个很大的缺点:
  • 当使用磁盘驱动器模式的时候,SD卡被电脑独占,装在SD卡上的程序无法运行,会导致很多插件和软件消失
  • 目前来说Android上面的软件很多还是不支持App2SD的,只有极少数一部分可以装在SD卡上
  • App2SD+: 通过给SD卡分区, 一个Swap分区(可选),一个Ext分区(安装软件的地方),一个Fat32分区。这种方式很好的解决了官方2.2系统自带App2SD的缺点,所有程序都可以装在SD卡上,在使用磁盘驱动器模式的时候也不会影响到SD卡上程序的运行。

所以,我个人强烈推荐使用App2SD+。注: Infiniti Evo 2.2 Rom 一直包含有App2SD+。

判断App2SD 和 App2SD 是否启用的方法

  • App2SD: 进入设置-应用程序-管理应用程序- 找一个支持App2SD的程序,例如 ES 文件浏览器, 点击进去 看一下 移至 SD 卡 按钮是否可以点, 如果可以点,代表系统支持 App2SD,如果不可以点 有可能是某些程序本身不支持App2SD或者系统不支持App2SD。 如下图 

       

 

  • App2SD+: 如果你的SD卡在刷系统之前已经存在 Ext分区, 那么在刷完Infiniti EVO 2.2 Rom以后会自动开启App2SD+。判断是否成功开启App2SD+,可以通过下面的几种方法:
  • 把手机连接到电脑上,然后再电脑上 输入 adb ls /system/sd/app/ 然后回车,查看该目录下是否有apk文件,如果有那么恭喜你,你的系统已经开启App2SD+,如下图: 

         

   

 

  • 或者通过Rom自带的文件浏览器进入 /system/sd/app/ 目录,查看这个目录下是否有apk文件,如果有那么恭喜你,你的系统已经开启App2SD+,如下图: 

          


  • 可以在手机上使用其他文件浏览器查看,或者在手机上使用终端软件输入命令 ls /system/sd/app/ 来查看。

下面介绍如何开启App2SD和App2SD+:

先介绍App2SD,然后再详细介绍App2SD+。

开启和关闭2.2系统自带的App2SD

在电脑上用输入下面的命令来开启或者关闭App2SD:

  • adb shell pm setInstallLocation 0
  • adb shell pm setInstallLocation 1
  • adb shell pm setInstallLocation 2

注释:

  • 0 代表自动(这个是默认值,如果你曾经开启过App2SD,想关闭的话,通过adb shell pm setInstallLocation 0就可以关闭App2SD功能了)
  • 1 代表手机存储
  • 2 代表SD卡。

也可以通过adb shell pm getInstallLocation 来获取当前的设置。

开启和关闭App2SD+

注: Infiniti EVO 2.2 Rom 1.1已经内置了DarkTremor apps2sd 2.7.5.2,可以使用下面的方法开启App2SD+,其他Rom的用户请访问: http://forum.xda-developers.com/showthread.php?t=670087 

准备工作:

  • 手机中必须有SD卡,没有SD卡,上帝也无能为力
  • 备份SD卡上的文件到电脑上,因为给SD卡分区后,你的SD卡上的资料就会全部删除
  • 给SD卡分区(建议有的朋友不知道到底App2SD+到底开启了么,建议使用本文上面的判断方法来判断一下,没有开启的话,建议给SD卡分区,如果已经开启了,本方法就可以不用继续往下看了)

给SD卡分区,并刷机

这里建议使用RA-evo-v.1.8.0 的 Recovery,因为本文教程使用的是这个版本的Recovery。
教程地址: http://daniel.k4.cn/other/201011_289.html

重启到Recovery模式,可以使用以下的几种方法:

  • 关机,然后按住音量减小的按键同时按下开机,然后使用音量减小按键选择RECOVERY,最后按下电源键选择
  • 使用电脑通过输入命令adb reboot recovery即可(确保手机通过usb连接到电脑,或者使用我rom里面自带的无线adb,可以通过无线来使用adb)
  • 最新版的Infiniti Rom中在长按电源键出现的菜单中加入了重新引导功能,选择重新引导,然后选择Recovery,点击确定
  • 最新版的Infiniti Rom增加了快速重启的程序,点击快速重启,然后选择恢复模式即可
  • 最新版的Infiniti Rom中包含了8键开关,如果你使用了这个插件的话,其中也有重启手机选项,同样选择Recovery即可

进入Recovery模式后,使用音量降低键向下移动选择到- Partition sdcard上

 

然后按下电源键,进入分区选项,然后使用音量降低键向下移动选择到 – Partition SD上

 

然后按下电源键

 

这个时候,系统会问你是否要分区,如果确认要分区,请点击电源键确认(按下除了电源键的其他按键取消分区操作),这里我们通过按下电源键确认分区

 

这个时候会询问你要给Swap交换分区设置多大的分区,默认为32MB, 通过音量加减按键来增大分区和降低分区大小,这里推荐大家设置为0,就是不划分Swap分区,毕竟Evo的内存还是不小的。

注: 高级玩家可以设置一下该分区,但是分区不适宜设置过大。具体关于Swap分区的作用请访问下面的链接:
http://www.inandroid.cn/bbs/thread-847-1-1.html

设置为0后,按下电源键确认。

 

 

这个时候会询问你Ext2分区的大小, 这里就看各位的需求了, 默认的大小是512MB, 看大家需要装多少软件, 毕竟Android的软件都不大, 我个人设置的是1024MB 也就是 1GB大小。

通过音量加减按键设置好Ext2分区的大小后, 按下电源键确认。

 

这个时候, 分区大小就已经设置完毕了, 按下电源键确认分区, 然后默默等待分区结束。

 

注:FAT32分区的大小是自动设置的, 容量为卡的容量-Swap分区的容量-Ext2分区的容量。

 

 

这个时候已经分区结束了。如果你的SD卡是Class 4以上的,推荐使用SD:ext2 to ext3 来把Ext2分区升级到ext3。

 

这个时候我们给SD卡的分区工作已经彻底完成, 重新刷 Infiniti EVO 2.2 Rom 1.1后,就已经可以自动开启App2SD+了。(刷机前别忘了Wipe一下)

注: 由于格式化了SD卡,所以SD卡中不存在刷机文件,这里可以通过Recovery的USB功能来开启U盘模式,然后把刷机文件传到SD卡中。

有些朋友由于之前SD卡中并没有Ext分区,也可以采用上面的步骤分区后,不刷机的方式来开启App2SD+,方法如下:

分区后在电脑上输入: adb shell,进入手机的命令行模式或者通过手机上的终端软件来进入手机的命令行模式, 然后输入下面的命令:

a2sd reinstall 然后回车

这个命令会把你以前装过的程序全部移动到SD卡的ext分区中,并激活app2sd+功能。

 

关闭App2SD+功能

可以通过输入一下命令来关闭App2SD+功能:

a2sd remove

 

 

 

这个命令会把SD卡Ext分区里面中的所有应用程序全部移动到手机,并关闭app2sd+功能。

 

 

尽情享受App2SD+带来的大容量程序空间吧。