Android 台灣中文網

標題: 有關updater-script語法解說 [打印本頁]

作者: zaws8569    時間: 2013-3-30 09:36
標題: 有關updater-script語法解說

想必有些人可能對於updater-script有興趣但是去不知道其中作用為何,而不知如何下手吧!

其實這也不是很難的指令,只要你會Linux且有使用過一段時間,在看這類的文件通常都會比較好吸收,那廢話不多說~

在此列舉幾個重要的語法及常用的語法來作說明,看完之後想必對於updater-script有更深入的瞭解。



updater-script語法解說:

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、Symlink(同步連結)

語法:

symlink(<target>, <src1>, <src2>,...);

說明:

建立指向target符號鏈接src1,src2,……

例如:

symlink("toolbox", "/system/bin/ps"); 建立指向toolbox的符號鏈接/system/bin/ps

﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍

8、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,權限為:所有者有讀權限,所屬用戶組有讀權限,其他無任何權限。

﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍

9、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文件夾下的文件權限是:所有者有讀寫權限,所屬組有讀權限,其他有讀權限。

※PS:看到這裡想必要特別提醒一下,在第 8 點(set_perm-主要是設定文件的權限)跟第 9 點(set_perm_recursive-設定文件夾的權限)說明來看,基本上都是設定權限,但一個針對單一文件作設置,另外一個則是針對文件夾與存放在文件夾中的文件都會設定到權限,這觀念有點像是群組的概念在。

﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍

10、ui_print(輸出)

語法:

ui_print("str"​​);

說明:

於螢幕上印出 str 字樣

例如:

ui_print("It's ready!"); 螢幕印出 It’s ready!

﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍

以上

希望對大家對於updater-script會有更深入的瞭解及幫助!

如果覺得不錯的話,煩請不吝嗇給於鼓勵及肯定!!

感謝!


作者: sonicla    時間: 2014-5-13 14:40
提示: 作者被禁止或刪除 內容自動屏蔽




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1