做用:將<src-dir>文件夾中的內容複製到<dst-dir>文件夾中。<dst-dir>文件夾中的原始內容將會保存不變,除非<src-dir>文件夾中有相同的內容,這樣<dst-dir>中的內容將被覆蓋
語法:delete <file1> [... <fileN>]
<file1> [... <fileN>]表示要格式化的文件,能夠是多個文件用空格隔開
語法:delete_recursive <file-or-dir1> [... <file-or-dirN>]
<file-or-dir1> [... <file-or-dirN>]表示要刪除的文件或文件夾,可使多個,中間用空格隔開
語法:set_perm <uid> <gid> <mode> <path> [... <pathN>]
<uid>表示用戶名稱,<gid>表示用戶組名稱,<mode>,表示權限模式,<path> [... <pathN>]表示文件路徑,可使多個,用空格隔開
舉例:set_perm 0 2000 0550 SYSTEM:etc/init.goldfish.sh(設置手機system中的etc/init.goldfish.sh的用戶爲root,用戶組爲shell,全部者以及所屬用戶組成員能夠進行讀取和執行操做,其餘用戶無操做權限)
語法:set_perm_recursive <uid> <gid> <dir-mode> <file-mode> <path> [... <pathN>]
<uid>表示用戶,<gid>表示用戶組,<dir-mode>表示文件夾的權限,<file-mode>表示文件的權限,<path> [... <pathN>]表示文件夾的路徑,能夠多個,用空格分開
舉例:set_perm_recursive 0 0 0755 0644 SYSTEM:app(設置手機system/app文件夾及其中文件的用戶爲root,用戶組爲root,app文件夾權限爲全部者能夠進行讀、寫、執行操做,其餘用戶能夠進行讀取和執行操做,其中的文件的權限爲全部者能夠進行讀寫操做,其餘用戶能夠進行讀取操做)
做用:至關於linux中的ln命令,將<link-target>在<link-path>處建立一個軟連接,<link-target>的格式應爲絕對路徑(或許相對路徑也能夠),<link-path>爲「根目錄:路徑」的形式
舉例:symlink /system/bin/su SYSTEM:xbin/su(在手機中system中的xbin中創建一個/system/bin/su的快捷方式)
10.assert <boolexpr>
做用:此命令用來判斷表達式boolexpr的正確與否,當表達式錯誤時程序終止執行
※此做用有待驗證
11.write_radio_image <src-image>
做用:將基帶部分的鏡像寫入手機,<src-image>表示鏡像文件
舉例:write_radio_image PACKAGE:radio.img
12.write_hboot_image <src-image>
做用:將系統bootloader鏡像寫入手機,<src-image>表示鏡像位置,此命令在直到在全部的程序安裝結束以後纔會起做用
舉例:write_hboot_image PACKAGE:hboot.img
13.write_raw_image <src-image> <dest-root>
做用:將boot.img寫入手機,裏面包含了內核和ram盤
舉例:write_raw_image PACKAGE:boot.img BOOT:
14. mount(fs_type, partition_type, location, mount_point)
參數詳解: fs_type-----------------"yaffs2" 或 "ext4"
partition_type----------"MTD" 或 "EMMC"
location-----------------分區(partition) 或 驅動器(device)
mount_poin------------掛載文件系統的目標文件夾(target folder to mount FS)
做用解釋: 掛載一個文件系統到指定的掛載點
返 回 值: 掛載成功則返回掛載點,失敗返回null
函數示例: mount("MTD", "system", "/system");掛載system分區,設置返回指針"/system」
mount("vfat", "/dev/block/mmcblk1p2", "/system"); 掛載/dev/block/mmcblk1p2,返回指針"/system」
15. is_mounted(mount_point)
參數詳解: mount_point-----------字符串,檢查是否已經掛載的掛載點
做用解釋: 檢查文件系統是否掛載
返 回 值: 掛載成功則返回掛載點,失敗返回null
16.unmount(mount_point)
參數詳解: mount_point-----------字符串,要解除掛載的掛載點
做用解釋: 解除文件系統掛載
返 回 值: 解除掛載成功則返回掛載點,失敗返回null
函數示例: unmount("/system"); 卸載/system分區
17. set_progress
函數語法: set_prograss(frac)
參數詳解: frac---------------------進度數值
18. package_extract_dir(package_path, destination_path)
參數詳解: package_path----------字符串,升級包內要提取的目錄
destination_path--------字符串,提取文件的目標目錄
做用解釋: 提取升級包內目錄中的全部文件到指定的目標目錄
函數示例: package_extract_dir("system", "/system");釋放ROM包裏system文件夾下全部文件和子文件夾至/system
19. package_extract_file(package_path) 或 package_extract_file(package_path, destination_path)
參數詳解: package_path----------字符串,升級包內要提取的文件
destination_path-------字符串,提取文件的目標目錄
做用解釋: 提取升級包內的單個文件到指定的目標目錄
函數示例: package_extract_file("my.zip", "/system");解壓ROM包裏的my.zip文件至/system
20. file_getprop(file, key)
參數詳解: file----------------------字符串,要檢查的文件名
Key----------------------字符串,返回數據中的文件的鍵名字
做用解釋: 在格式"key"="value"的文件中取得文件屬性值
21.getprop(key)
參數詳解: key---------------------字符串,想要系統返回的屬性
做用解釋: 這個函數是用來返指定的屬性的值。它是用來從build.props文件中查詢手機的信息的。
22. apply_patch(srcfile, tgtfile, tgtsha1, tgtsize, sha1_1, patch_1, ..., sha1_x, patch1_x)
參數詳解: srcfile-------------------字符串,要打補丁的源文件(要讀入的文件)
Tgtfile-------------------字符串,補丁文件要寫入的目標文件
tgtsha1-----------------字符串,寫入補丁文件的目標文件的sha1哈希值
sha1_x------------------字符串,要寫入目標文件的補丁數據的sha1哈希值 patch1_x----------------字符串,實際上應用到目標文件的補丁
做用解釋: 這個函數是用來打補丁到文件。
23. apply_patch_check(file, sha1_1, ..., sha1_x)
參數詳解: file----------------------字符串,要檢查的文件
sha1_x------------------要檢查的哈希值
做用解釋: 檢查文件是否已經被打補丁,或者能不能被打補丁。須要檢查「applypatch_check 」函數調用的源代碼。
24. apply_patch_space(bytes)
參數詳解: bytes-------------------檢查的字節的數字
做用解釋: 檢查緩存來肯定是否有足夠的空間來寫入補丁文件並返回一些數據。
25. read_file(filename)
參數詳解: filename----------------字符串,要讀取內容的文件名
做用解釋: 這個函數返回文件的內容
26. sha1_check(data) 或 sha1_check(data, sha1_hex, ..., sha1_hexN)
參數詳解: data---------------------要計算sha1哈希值的文件的內容-必須是隻讀文件格式
sha1_hexN--------------文件數據要匹配的特定的十六進制sha1_hex哈希值字符串
做用解釋: 若是隻指定data參數,這個函數返回data參數的十六進制sha1_hex哈希值字符串。其餘參數用來確認你檢查的文件是否是列表中的哈希值的一個。 它返回匹配的哈希值,或者在沒有匹配任何哈希值時返回空。
27. ui_print(msg1, ..., msgN)
參數詳解: msg----------------------字符串,要處理過程當中輸出給用戶的信息
做用解釋: 在腳本運行的時候,在控制檯顯示的信息。最少要指定1個參數,你能夠指定額外的msg參數,而且它們會鏈接起來輸了
函數示例: ui_print("It's ready!");屏幕打印It's ready!
28. ifelse(condition, truecondition, falsecondition)
參數詳解: condition----------------要運算的表達式
Truecondition-----------當值爲True時執行的 Edify腳本塊
Falsecodnition-----------當值爲False時執行的 Edify腳本塊
做用解釋: 這是If-then結構的 Edify腳本語言。在真條件或非條件下語句能夠是單條Edify命令或者腳本塊。腳本塊能夠用圓括號來界定,用分號來隔開。
29. abort()
參數詳解: 沒有參數
做用解釋: 停止腳本執行
30. assert(condition)
參數詳解: condition---------------boolean
做用解釋: 若是condition參數的計算結果爲False,則中止腳本執行,不然繼續執行腳本
函數示例: 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