updater-script

简介

编辑
updater-script是安卓手机刷入系统时的脚本文件,由它来决定 android需要刷入哪些内容,如何刷入,是安卓手机 刷机必不可少的文件。

语法说明

编辑
1、mount
语法:
mount(type, location, mount_point);
说明:
type=" MTD" location="<partition>" 挂载 yaffs2文件系统分区;
type=" vfat" location="/dev/block/<whatever>" 挂载设备。
例如:
mount("MTD", "system", "/system");挂载system分区,设置返回指针"/system”
mount("vfat", "/dev/block/mmcblk1p2", "/system");
挂载/dev/block/mmcblk1p2,返回指针"/ system
2、Unmount
语法:
unmount(mount_point);
说明:
mount_point是mount所设置产生的指针。其作用与挂载相对应,卸载分区或设备。此函数与mount配套使用。
例如:
unmount("/system");
卸载/system分区
3、Format
语法:
format(type, location);
说明:
type=" MTD" location= partition(分区),格式化location参数所代表的分区。
例如:
format("MTD", "system");格式化system分区
4、Delete
语法:
delete(<path>);
说明:
删除文件<path>
例如:
delete("/data/zipalign.log");删除文件/data/zipalign.log
5、delete_recursive
语法:
delete_recursive(<path>);
说明:
删除文件夹<path>
例如:
delete_recursive("/data/dalvik-cache");删除文件夹/data/dalvik-cache
6、show_progress
语法:
show_progress(<fraction>,<duration>);
说明:
为下面进行的程序操作显示进度条,进度条会根据<duration>进行前进<fraction>
例如:
show_progress(0.1, 10);show_progress下面的操作可能进行10s,完成后进度条前进0.1(也就是10%)
7、package_extract_dir
语法:
package_extract_dir(package_path, destination_path);
说明:
释放文件夹package_path至destination_path
例如:
package_extract_dir("system", "/system");释放ROM包里system文件夹下所有文件和子文件夹至/system
8、package_extract_file
语法:
package_extract_file(package_path, destination_path);
说明:
解压package_path文件至destination_path
例如:
package_extract_dir("my.zip", "/system");解压ROM包里的my.zip文件至/system
9、Symlink
语法:
symlink(<target>, <src1>, <src2>,...);
说明:
建立指向 target 符号链接src1,src2,……
例如:
symlink(" toolbox", "/system/bin/ps");建立指向toolbox的符号链接/system/bin/ps
10、set_perm
语法:
set_perm(<uid>, <gid>,<mode>, <path>);
说明:
设置<path>文件的用户为uid,用户组为gid,权限为mode
例如:
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");设置文件/system/etc/dbus.conf的所有者为1002,所属用户组为1002,权限为:所有者有读权限,所属用户组有读权限,其他无任何权限。
11、set_perm_recursive
语法:
set_perm_recursive(<uid>,<gid>,<dir-mode>,<file-mode>,<path>);
说明:
设置文件夹和文件夹内文件的权限
例如:
set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");设置/data/app的所有者和所属用户组为1000,app文件夹的权限是:所有者和所属组拥有全部权限,其他有执行权限;app文件夹下的文件权限是:所有者有读写权限,所属组有读权限,其他有读权限。
12、ui_print
语法:
ui_print("str");
说明:
屏幕打印输出"str"
例如:
ui_print("It's ready!");屏幕打印It’s ready!
13、run_program
语法:
run_program(<path>);
说明:
运行<path>脚本
例如:
run_program("/sbin/ busybox"," mount","/system");
14、write_raw_image
语法:
write_raw_image(<path>, partition);
说明:
写入<path>至 partition分区
例如:
write_raw_image("/tmp/boot.img", "boot")将 yaffs2格式的boot包直接写入boot分区
15、assert
语法:
assert(<sub1>,<sub2>,<sub3>);
说明:
如果执行sub1不返回错误则执行sub2,如果sub2不返回错误则执行sub3一次类推。
例如:
assert(package_extract_file("boot.img", "/ tmp/boot.img"),
write_raw_image("/tmp/boot.img", "boot"),
delete("/tmp/ boot.img"));执行package_extract_file,如果不返回错误则执行write_raw_image,如果write_raw_image不出错则执行delete [1]  
另外 在Windows下用第三方工具编写updater-script时,须将换行编码调整为 Unix(LR),否则会出现(stuta 6)的刷机错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值