Android ROM 刷机脚本 updater-script 的基本流程和初级语句说明

Android ROM 刷机脚本 updater-script 的基本流程和初级语句说明

ID:40738793

大小:27.28 KB

页数:6页

时间:2019-08-07

Android ROM 刷机脚本 updater-script 的基本流程和初级语句说明_第1页
Android ROM 刷机脚本 updater-script 的基本流程和初级语句说明_第2页
Android ROM 刷机脚本 updater-script 的基本流程和初级语句说明_第3页
Android ROM 刷机脚本 updater-script 的基本流程和初级语句说明_第4页
Android ROM 刷机脚本 updater-script 的基本流程和初级语句说明_第5页
资源描述:

《Android ROM 刷机脚本 updater-script 的基本流程和初级语句说明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、AndroidROM刷机脚本updater-script的基本流程和初级语句说明(转)简单说说刷机脚本的相关知识,以及简单的语句说明.目的不是让你通过本帖学会如何做刷机脚本,那不是一下子可以做到的事情.但是至少可以通过本帖子,让你对刷机脚本有一个初步的了解,并且可以初步动手修改相对简单的内容,例如制作升级包.以下说明,都以我的ReflexSData2Ext2.0.2c整包ROM为例子说明,把update的过程流程化,更加有助于理解.首先说明刷机脚本的路径,其实很多人,包括部分ROM作者,都不知道这个文件的存在.位于刷机包的如下路径:1.META

2、-INFcomgoogleandroidupdater-script复制代码刷机过程其实很简单,只要你理解了流程,和相关的语句.一般来说,刷机就是如下的步骤:1.开始.2.清理userdata,system,cache,dalvik-cache等(这是一个可选的步骤,由ROM作者依据ROM的特性去决定是否要采用)3.挂载userdata,system,sdext(其中sdext为可选挂载,依据ROM特性决定)4.释放对应的文件/文件夹到对应的区域,例如刷机包内的目录data对应的释放到手机的userdata区域5.Symlink,这个是

3、必须的动作,这个有问题,会导致ROM出现一些问题,特别是错误的链接或者不存在的链接,很容易引发问题.6.设置权限,这一个步骤也很重要,关系到ROM能否正常使用,Android是base在linux基础上的,对于文件的权限非常重要,没有权限,一个应用程序是无法被执行或者读写的.7.刷入内核引导文件boot.img8.取消挂载的各个分区,刷机结束.复制代码大概步骤就这样,这个过程非常明了和直接,下面我具体举例说明各个步骤的做法.1.开始准备刷机.开始最简单,实际上就是就是检测硬件,打印相关信息,提示开始刷机.其中可能用到的部分函数做个简单介绍:ui

4、_print:就是在recovery下打印文字给用户阅览.getprop:获取手机对应的属性assert:你可以理解为辅助执行多行脚本命令例如如下我的部分开始代码:1.ui_print(”“);1.assert(getprop(“ro.product.device”)==“bravo”

5、

6、getprop(“ro.build.product”)==“bravo”

7、

8、getprop(“ro.product.board”)2.==“bravo”);3.ui_print(“.ReflexSData2ExtInstallation.”);4.ui_pri

9、nt(”“);5.ui_print(“InstallingGingerbread2.3.3–Sense2.1…”);6.ui_print(”“);复制代码首先开始答应一行空行,编译和之前的文字区别开来.然后用assert完成对手机的产品设备型号的检测最后打印,开始安装该ROM.2.清理这个过程是可选的,有的rom不需要wipe直接升级,就无需这个过程,有的ROM必须完全wipe才可以刷机,否则会出问题,那么rom作者为了担心你因为没有wipe而导致出了问题,就在脚本里面处理了,尽量帮助你避免产生问题.例如我这个data2ext的ROM,如果不w

10、ipe,会产生一些问题,例如FC,UID错误等,就必须wipe,但是为了不让用户的懒惰成为找我问问题的麻烦,我就主动帮他们”wipe”了所有必须wipe的内容.其中可能用到的部分函数做个简单介绍:fromat:格式化相关区域的函数delete_recursive:可以直接删除一个目录.如下我的部分代码摘抄如下:1.ui_print(”Cleanupcache…”);2.format(“MTD”,“cache”);3.delete_recursive(“/data/dalvik-cache”);4.delete_recursive(“/sdext

11、/dalvik-cache”);复制代码首先打印我要开始清理cache了然后格式化cache,删除userdata下的dalvik-cache,删除sd卡ext分区的dalvik-cache.其实我这里代码还是有一些问题的,可能sdext都还没有挂载我就试图删除了.这个就属于脚本的隐患bug了.3挂载和4释放文件,我是按照区域来组合做的,如下分别是userdata的处理和system的处理.其中可能用到的部分函数做个简单介绍:umount/mount:分别是取消挂载和挂载相关的区域函数.package_extract_dir:你可以理解为复制刷

12、机包内的指定目录到手机的指定区域.1.ui_print(”UnpackingDATAfiles…”);2.unmount(“/data”);3.for

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。