updater-script

updater-script是t是安卓手機刷入系統時的腳本檔案,由它來決定android需要刷入哪些內容,如何刷入,是安卓手機刷機必不可少的檔案。

基本介紹

  • 中文名:updater-script
  • 類別:安卓手機刷入系統時的腳本檔案
  • 決定android需要刷入哪些內容
  • 地位:安卓手機刷機必不可少的檔案
簡介,語法說明,

簡介

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
語法:
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
另外 在Windows下用第三方工具編寫updater-script時,須將換行編碼調整為Unix(LR),否則會出現(stuta 6)的刷機錯誤。

相關詞條

熱門詞條

聯絡我們