綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[教程] 有關updater-script語法解說

[複製連結] 查看: 1951|回覆: 1|好評: 3
跳轉到指定樓層
樓主
zaws8569 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2013-3-30 09:36

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x

想必有些人可能對於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會有更深入的瞭解及幫助!

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

感謝!

「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

評分

參與人數 5碎鑽 +6 經驗 +2 幫助 +9 技術 +1 收起 理由
sharonliu + 3 + 1 + 5 + 1 太神啦!!!
monitorstudio + 1 + 1 + 1 讚一個!
yamz71622 + 1 + 1 很給力!
chkev2001 + 1 讚一個!
vacio99 + 1 + 1 非常讚

查看全部評分

收藏收藏5 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
sonicla | 收聽TA | 只看該作者
發表於 2014-5-13 14:40
提示: 作者被禁止或刪除 內容自動屏蔽
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則