app2sd脚本分析.doc_第1页
app2sd脚本分析.doc_第2页
app2sd脚本分析.doc_第3页
app2sd脚本分析.doc_第4页
app2sd脚本分析.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#!/system/bin/sh # By gfpig 2012/02/06 SDEXT=mmcblk0p2 # MOUNT SD-EXT if -e /dev/block/$SDEXT -a -e /system/etc/.nomount then mount -t ext4 /dev/block/$SDEXT /sd-ext if -s /sd-ext then busybox rm -f /system/etc/.nomount exit fi fi # sd-ext is mount if -s /sd-ext then # app2ext already on if -h /data/app -a -d /etc/app2sd-run -a -d /sd-ext/app then echo Gfpig:APP2EXT已经处于打开状态!如需关闭APP2EXT功能请运行APP2EXT_OFF.sh . exit fi # app2sd on if ! -h /data/app -a ! -d /etc/app2sd-off -a ! -d /etc/app2sd-false -a ! -d /etc/app2sd-retry then busybox rm -rf /sd-ext/app busybox cp -rp /data/app /sd-ext busybox mkdir /system/etc/app2sd-on sync reboot fi # app2sd fix if -h /data/app -a ! -d /etc/app2sd-run then busybox mkdir /system/etc/app2sd-run fi # app2sd retry if ! -h /data/app -a -d /etc/app2sd-false then busybox mv /system/etc/app2sd-false /system/etc/app2sd-retry sync reboot fi else echo Gfpig:SD-EXT分区没有正确挂载,请先正确挂载SD-EXT分区。系统默认挂载的EXT分区为SD卡的第二个分区(mmcblk0p2)。 fi exit - 这是大熊老大的app2sd脚本, 现在 查看一下, 实际主要的语句就是 mount sd-ext分区到/data/app目录(好像他的语句里面是把设置放在etc下面的配置文件里面了 也就是系统以后对于/data/app的访问, 都转到sd-ext分区, 同时注意到busybox cp -rp /data/app /sd-ext这句, 就是把data/app下面的东西都拷贝到sd-ext 琢磨这个的目的是为了把大熊的脚本移植到其他的rom里面 同理:大家看一下data2ext的原理 #!/system/bin/sh # By Gfpig 2012/02/07 SDEXT=mmcblk0p2 # MOUNT SD-EXT if -e /dev/block/$SDEXT -a -e /system/etc/.nomount then mount -t ext4 /dev/block/$SDEXT /sd-ext if -s /sd-ext then busybox rm -f /system/etc/.nomount echo 已开启SD-EXT分区和增强功能,再运行此命令即可使用增强功能 exit fi fi # sd-ext is mount if -s /sd-ext then # data2ext first if ! -h /data/data -a ! -h /data/system -a ! -d /etc/data2ext-off -a ! -d /etc/data2ext-false -a ! -d /etc/data2ext-retry then if -e /dev/block/$SDEXT then # if exist data2ext if -d /sd-ext/data -a -d /sd-ext/system -a ! -e /sd-ext/*.backup then # prepare do if ! -e /sd-ext/data/.first then busybox touch /sd-ext/data/.first start timing echo Gfpig:发现你EXT分区已经存在data/system二个目录,如果要使用新数据覆盖EXT卡上的数据,请删除sd-ext目录下的这二个目录,如果要使用EXT卡上的数据,请在一分钟内再运行此命令一次 exit # do else busybox rm -f /sd-ext/data/.first busybox mkdir /system/etc/data2ext-on fi # if exist backup elif -d /sd-ext/data -a -d /sd-ext/system -a -d /sd-ext/wifi -a -e /sd-ext/*.backup then # prepare do if ! -e /sd-ext/data/.first then backupfile=busybox ls /sd-ext/*.backup |busybox cut -d/ -f3 backupdate=$backupfile%.backup busybox touch /sd-ext/data/.first start timing echo Gfpig:发现你EXT分区存在备份时间为:$backupdate 的数据,如果要使用新数据覆盖EXT卡上的数据,请删除sd-ext目录下的data/system/wifi这三个目录及*.backup文件,如果要使用备份数据开启data2ext,请在一分钟内再运行此命令一次 exit # do else busybox rm -f /sd-ext/data/.first busybox mkdir /system/etc/data2ext-on fi # no data else busybox cp -rp /data/data /sd-ext busybox cp -rp /data/system /sd-ext busybox mkdir /system/etc/data2ext-on fi sync reboot fi fi # data2ext fix if -h /data/data -a -h /data/system -a ! -d /etc/data2ext-run then busybox mkdir /system/etc/data2ext-run fi # data2ext off if -h /data/data -a -h /data/system -a -d /etc/data2ext-run then if -d /sd-ext/data then baksize=busybox du -smx /sd-ext/data |busybox cut -f1 datadir=busybox du -smx /data |busybox cut -f1 datasize=$(570-datadir) if $baksize -lt $datasize then busybox cp -rp /sd-ext/data /data/databak busybox cp -rp /sd-ext/system /data/systembak busybox mv /system/etc/data2ext-run /system/etc/data2ext-off sync reboot else echo Gfpig:DATA2EXT占用空间约为 $baksize M ,手机内部存储空间现可用为 $datasize M ,不足以关闭DATA2EXT,请删除部分程序后再重试关闭DATA2EXT。 fi fi fi # data2ext retry if -d /etc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论