Android手机上如何实现data2ext

Android手机上如何实现data2ext    
作者:ygps2002    
相关帖子:    
1,[教程]G7刷机详细教程:解锁S-OFF,ROOT提取,CM-7.0.3ROM刷机    
2,[教程]Android手机上如何无痛替换SD卡,扩展存储空间    
3,[教程]Android手机上如何实现data2ext  --->本贴    
4,[文章]磁盘的逻辑构造(参见: wenku.baidu.com/view/3e0c18a4f524ccbff1218413.html)    
5,[教程]活用Android手机上的GPS日志+地图语音导航    
6,[体验]当G7遇到小米    
关键词:    
SD卡    
格式化      
分区      
data2ext      
ext3分区      
app2sd      
ROM
   
data2ext的必要性:    
        大家在买了Android手机后,对操作界面的高人性化,免费应用软件的多样及大量游戏的方便安装感叹之后,就会碰到内存不足的瓶颈。稍懂些计算机的人可能觉得早期的手机内存只有几十KB,几十MB都用的挺好,为啥Android手机都超500MB还不够用,是不是android系统不好呢?当然不是,恰恰是Android系统太好了,所以才需要更多内存。看看Android手机里安装的那么多应用软件,给用户带来之方便已经快赶上普通PC,甚至超过平板电脑和上网本的情况来看,消耗一些内存也觉得值当。想起Nokia,Sony-Ericsson,motorola早期的手机除了打电话外没有其他任何功能还卖好几千大洋,该珍惜Google的Android带给我们的实惠,这是真正的Nokia,Sony- Ericsson,Windows,iOS的颠覆者。免费这杆大旗更应该在中国扛下去。    
言归正传,既然买来的Andoird手机内存不足了,那么如何能腾出内存空间呢?早期的问题解决办法是app2sd,再改进就是app2sd+,现在到了data2ext了。本人手机进行的data2ext,system2ext试验结果共享出来,大家参考。    
《事先准备》    
手机端:    
             手机已经是S-OFF解锁完毕,ROOT授权提取完毕;(详细参见本人文章:如何无痛ROOT提取)    
             手机上的Recovery分区刷了第3方(Clockmodwork)的镜像程序;    
             RE(RootExplorer安装完毕);    
             其他确认手机ROM,RAM,SD卡等信息的软件(如MiniInfo,系统监控等任意APK应用均可)。    
PC端:    
             Android开发工具包,能执行ADB shell命令;    
             Andoird开发USB驱动安装完毕;    
SD卡:    
             格式化好的SDHC卡(C6高速8GB),分区详情SWAP:0GB+ext3:2GB+FAT32:2GB=共8GB。    
《data2ext详细步骤》    
        Android系统(底层Linux内核)在启动时,对各个磁盘分区的加载模式有所区别,其中/data分区是以可读写模式(R/W)加载上的,所以用户安装的软件+数据均保存于此分区,如/data/app,/data/app-private,运行时的缓冲/data/dalvik-cache 等,这样实现了用户安装软件运行。但系统分区/system是以只读方式(R/O)加载的,所以不允许卸载,修改自带的系统及应用软件,也不允许将APK 安装到此分区。    
       下一节再来实验稍复杂些/system分区数据移动到miniSD卡的ext分区(以下简称:sd-ext)。先来简单看看/data分区的数据(含软件)如何移动到sd-ext分区吧。    
       基本思路非常简单,就是利用Linux/Unix系统中的文件目录软连接(soft link)来实现的。    
STEP-1,将手机与PC用USB连接好,确认手机端允许程序调试(手机不要以移动磁盘连接到PC);    
STEP-2,PC端打开DOS命令行(DOS Prompt);    
STEP-3,将当前目录转到ADB工具安装的目录(如:d:\android\tools);    
STEP-4,确认设备已连接好(可以看到设备号为0123456789ABCDEF的手机已连接好)后,进入adb shell;    
image001.png    
STEP-5,以su身份执行下面所有的操作,确认每一步结果正常;    
image003.png    
      上图中第一个框中为将/data分区的这3个目录移动到/sd-ext/data下,同时删除了/data目录下的这3个目录;第2个框为在/data 目下建立3个软连接(ln 命令);第3个框为确认连接已正常建立。倒数第2行的du命令是确认/sd-ext/data目录的容量大小,也就是从原/data分区下移动了 160MB数据到sd-ext分区,也即给手机自带ROM腾出了160MB存储空间,很是可观了。重启手机之前最好不要通过手机触摸屏进行任何操作了,尽快执行reboot。    
STEP-6,重启手机后,通过自带及安装的内存确认软件,可以看到手机内部存储应该空余出了160MB,同时sd卡的ext分区的可用空间少了160MB。    
      至此,恭喜你data2ext成功了。以后任何APK安装将只消耗sd卡上的ext分区,而不消耗手机自带存储空间。可以放心安装大型APK了。这个结论不是那么严格,但也八九不离十,随后会明白原因的。    
      可能有的机油可能会问,/data目录下有很多数据,为什么只将这3个目录迁移到sd-ext分区,其他的不行吗?聪明勤奋的机油想想会明白的,此处略去。    
《system2ext详细步骤》    
      除了data2ext外,可不可以将system分区中的数据也迁移到ext分区呢?抱着穷追猛打的冒险精神,验证了system2ext的可行性。结果证明完全可以和data2ext达到相同的效果。但操作上与data2ext有一处不同,就是前面提到过的/system分区在系统中是以只读方式被加载的,按照上面的步骤可能会碰到不能迁移(删除),不能拷贝或是不能新建文件连接等错误提示。此时需要借助RE(RootExplorer)软件来配合。    
STEP-1STEP-4,同data2ext;    
STEP-5,以su身份执行下面所有的操作,确认每一步结果正常;    
image005.png    
STEP-6,手机端打开RE浏览器,以R/W方式重新加载/system分区;    
image007.png    
      用手指轻触[Mount R/W]按钮,这时按钮左边的文字信息会有R/O变为R/W,按钮则变为[Mount R/O]。    
STEP-7,继续下面的操作,建立软连接至/sd-ext分区上的目录,用ls –l确认后重启手机;    
image009.png    
      确认连接结果建立正常,并可以看到/system/app目录的大小为121.1MB。    
image011.png    
STEP-8,确认手机重启正常,各种软件正常运行后,再次用USB连接到PC,执行以下操作;    
image013.png    
      上图中的黄字内容跟第6步一样,需要手机端RE配合;删除掉app2目录后可以看到/system分区的存储空间空余出了大约50MB。    
image015.png    
STEP-9,如果一切运行正常,可以将/system分区回复成以R/O加载方式,或是重启手机。    
     再次声明一下,本人验证时使用的是Class6的SDHC卡,如果Class4以下的卡建议最好别用data2ext,除了速度慢会卡屏以外,也有可能会影响卡的寿命。    
免责声明:    
1,示例中所有所用软件均是免费软件或是破解版。    
2,本人基本不使用付费软件,但支持付费使用,反对盗版软件。    
3,对于盗版软件或是破解软件,仅限於个人使用,不赞成商业或是网络传播。    
4,大量使用免费软件或是破解版软件,可以节约大量银子,节能环保!    
(完)    
2011.10.01

转载于:https://my.oschina.net/jacobin/blog/210511

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值