updater-script脚本深入解析 Android系统Recovery工作原理之使用update

09/11 11:28:02 来源网站:辅助卡盟网

通过上面的源码来分析下这个程序的执行过程:

函数参数以及版本的检查:当前updater binary API所支持的版本号有1,2,3这三个。

②获取管道并打开:在执行此程序的过程中向该管道写入命令,用于通知其父进程根据命令去更新UI显示。

③读取updater-script脚本:从update.zip包中将updater-script脚本读到一块动态内存中,供后面执行。

④Configure edify’s functions:注册脚本中的语句处理函数,即识别脚本中命令的函数。主要有以下几类

RegisterBuiltins():注册程序中控制流程的语句,如ifelse、assert、abort、stdout等。

RegisterInstallFunctions():实际安装过程中安装所需的功能函数,比如mount、format、set_progress、set_perm等等。

RegisterDeviceExtensions():与设备相关的额外添加項辅助卡盟,在源码中并没有任何实现。

FinishRegistration():结束注册。

⑤Parsethe script:调用yy*库函数解析脚本updater-script脚本深入解析,并将解析后的内容存放到一个Expr类型的​​Python​​类中。主要函数是yy_scan_string()和yyparse()。

深入解析mac os x & ios操作系统_cegui深入解析_updater-script脚本深入解析

⑥执行脚本:核心函数是Evaluate(),它会调用其他的callback函数,而这些callback函数又会去调用Evaluate去解析不同的脚本片段,从而实现一个简单的脚本解释器。

⑦错误信息提示:最后就是根据Evaluate()执行后的返回值,给出一些打印信息。

这一执行过程非常简单,最主要的函数就是Evaluate。它负责最终执行解析的脚本命令。而安装过程中的命令就是updater-script。

下一篇幅将介绍updater-script脚本中的语法以及这个脚本在具体升级中的执行流程。

来源:【九爱网址导航www.fuzhukm.com】 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

SQL Error: select * from ***_ecms_game where title like '%updater-script脚本深入解析 Android系统Recovery工作原理之使用update%' or INSTR('updater-script脚本深入解析 Android系统Recovery工作原理之使用update',title)>0 order by newstime desc limit 10

游戏推荐

更多>
    SQL Error: select * from ***_ecms_game where titlepic<>'' order by newstime desc limit 6