刷機腳本說明.doc_第1頁
刷機腳本說明.doc_第2頁
刷機腳本說明.doc_第3頁
刷機腳本說明.doc_第4頁
刷機腳本說明.doc_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

(Updater-Script)刷機腳本說明。 如果覺得這樣看起來吃力,下面可以下載一個文檔附件,拿回家慢慢研究。這是Android系統來運行updater-scripts的Edify語言的基本介紹。大部分的Edify命名都是函數,當調用這些函數結束的時候,會返回數據給腳本。當然,你也可以使用這些函數的返 回 值來確認成功與否,例如:ifelse(mount(yaffs2, MTD, system, /system) = system, ui_print(Successfully Mounted!), ui_print(Mount Failed!);這個命令會嘗試去掛載命名為“system”的“MTD”分區到“/system”。如果掛載成功,腳本會顯示“Successfully Mounted!”,否則會顯示“Mount Failed!”。現面是用在Edify的Updater-script中的函數例子:函數名稱: mount函數語法: mount(fs_type, partition_type, location, mount_point)參數詳解: fs_type-yaffs2 或 ext4partition_type-MTD 或 EMMClocation-分區(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”函數名稱: is_mounted函數語法: is_mounted(mount_point)參數詳解: mount_point-字符串,檢查是否已經掛載的掛載點作用解釋: 檢查文件系統是否掛載返 回 值: 掛載成功則返回掛載點,失敗返回null函數示例:函數名稱: unmount函數語法: unmount(mount_point)參數詳解: mount_point-字符串,要解除掛載的掛載點作用解釋: 解除文件系統掛載返 回 值: 解除掛載成功則返回掛載點,失敗返回null函數示例: unmount(/system); 卸載/system分區函數名稱: format函數語法: format(fs_type, partition_type, location)參數詳解: fs_type-字符串,數據為yaffs2 或 ext4partition_type-字符串, MTD 或 EMMClocation-字符串, 分區(partition) 或 驅動器(device)作用解釋: 格式化為指定的文件系統函數示例: format(MTD, system);格式化system分區函數名稱: delete函數語法: delete(file1, file2, ., fileN)參數詳解: 字符串,要刪除的文件作用解釋: 刪除一個文件。最少指定一個文件;多個文件可以做為多個參數指定函數示例: delete(/data/zipalign.log);刪除文件/data/zipalign.log函數名稱: delete_recursive函數語法: delete_recursive(dir1, dir2,.,dirN)參數詳解: 字符串,要遞歸刪除的目錄作用解釋: 刪除文件夾及其包含的所有內容。最少指定1個目錄;多個目錄可以做為多個參數指定函數示例: delete_recursive(/data/dalvik-cache);刪除文件夾/data/dalvik-cache函數名稱: show_progress函數語法: show_progress(frac, sec)參數詳解: frac-進度完成數值Sec-總秒數作用解釋: 顯示在Recovery系統中進度函數示例: show_progress(0.1, 10);show_progress下面的操作可能進行10s,完成后進度條前進0.1(也就是10%)函數名稱: set_progress函數語法: set_prograss(frac)參數詳解: frac-進度數值函數示例: 函數名稱: package_extract_dir函數語法: package_extract_dir(package_path, destination_path)參數詳解: package_path-字符串,升級包內要提取的目錄 destination_path-字符串,提取文件的目標目錄作用解釋: 提取升級包內目錄中的所有文件到指定的目標目錄函數示例: package_extract_dir(system, /system);釋放ROM包里system文件夾下所有文件和子文件夾至/system函數名稱: package_extract_file函數語法: 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函數名稱: file_getprop函數語法: file_getprop(file, key)參數詳解: file-字符串,要檢查的文件名 Key-字符串,返回數據中的文件的鍵名字作用解釋: 在格式key=value的文件中取得文件屬性值函數示例: 函數名稱: symlink函數語法: symlink(target, src1, src2, ., srcN)參數詳解: target-字符串,符號鏈接的目標 srcX -字符串,要創建的符號鏈接的目標點作用解釋: 在創建新的符號鏈接之前,要斷開已經存在的符號鏈接函數示例: symlink(toolbox, /system/bin/ps);建立指向toolbox的符號鏈接/system/bin/ps函數名稱: set_perm函數語法: set_perm(uid, gid, mode, file1, file2, ., fileN)參數詳解: uid-用戶ID(user id) Gid-用戶組ID(group id) Mode-權限模式(permission mode) fileX-要設置許可的文件(file to set permission on)作用解釋: 設置單個文件或一系列文件的權限,最少指定1個文件,前4個參數是必須的函數示例: set_perm(0,2000,0550, system/etc/init.goldfish.sh);設置手機system中的etc/init.goldfish.sh的用戶為root,用戶組為shell,所有者以及所屬用戶組成員可以進行讀取和執行操作,其他用戶無操作權限)這里0代表用戶為root2000代表用戶組為shell我們來說明0550這組數據,這組數據的最后三位550,分別代表“所有者組用戶其他用戶”的權限,也就是我們在RE管理中“用戶群組其他”三行。 我們以XXX來表示這三組權限,其中:=4 讀的權限=2 寫的權限=1 執行的權限我們必須首先了解用數字表示的屬性的含義:0表示沒有權限,1表示可執行權限,2表示可寫權限,4表示可讀權限,然后將其相加。所以數字屬性的格式應為3個從0到7的八進制數。例如,如果想讓某個文件的屬主有讀/寫二種權限,需要把4(可讀)+2(可寫)6(讀/寫)。若要rwx屬性則4+2+1=7;若要rw-屬性則4+2=6;若要r-x屬性則4+1=5。常用修改權限的命令:Set_perm 0 0 0600 (只有所有者有讀和寫的權限)Set_perm 0 0 0644 (所有者有讀和寫的權限,組用戶只有讀的權限)Set_perm 0 0 0700 (只有所有者有讀和寫以及執行的權限)Set_perm 0 0 0666 (每個人都有讀和寫的權限)Set_perm 0 0 0777 (每個人都有讀和寫以及執行的權限)函數名稱: set_perm_recursive函數語法: set_perm_recursive(uid, gid, dirmode, filemode, dir1, dir2, .dirN)參數詳解: uid-用戶ID(user id) Gid-用戶組ID(group id) Dirmode-指定目錄內的目錄的權限 Filemode-指定目錄內的文件的權限 dirX-要設置權限的目標作用解釋: 設置單個目錄或一系列目錄的里面的所有文件的權限,最少指定1個目錄,5個參數都是必須的函數示例: set_perm_recursive 0 0 0755 0644 SYSTEM:app;設置手機system/app文件夾及其中文件的用戶為root,用戶組為root,app文件夾權限為所有者可以進行讀、寫、執行操作,其他用戶可以進行讀取和執行操作,其中的文件的權限為所有者可以進行讀寫操作,其他用戶可以進行讀取操作函數名稱: getprop函數語法: getprop(key)參數詳解: key-字符串,想要系統返回的屬性作用解釋: 這個函數是用來返指定的屬性的值。它是用來從ps文件中查詢手機的信息的。函數示例: 函數名稱: write_raw_image函數語法: write_raw_image(file, partition)參數詳解: file-字符串,要讀取的Img源文件 Partition-字符串,要寫入Img文件的目標分區作用解釋: 這個函數是用來寫Img文件到分區函數示例: write_raw_image(/tmp/boot.img, boot)將yaffs2格式的boot包直接寫入boot分區函數名稱: apply_patch函數語法: apply_patch(srcfile, tgtfile, tgtsha1, tgtsize, sha1_1, patch_1, ., sha1_x, patch1_x)參數詳解: srcfile-字符串,要打補丁的源文件(要讀入的文件) Tgtfile-字符串,補丁文件要寫入的目標文件 tgtsha1-字符串,寫入補丁文件的目標文件的sha1哈希值sha1_x-字符串,要寫入目標文件的補丁數據的sha1哈希值 patch1_x-字符串,實際上應用到目標文件的補丁作用解釋: 這個函數是用來打補丁到文件。函數示例: 函數名稱: apply_patch_check函數語法: apply_patch_check(file, sha1_1, ., sha1_x)參數詳解: file-字符串,要檢查的文件 sha1_x-要檢查的哈希值作用解釋: 檢查文件是否已經被打補丁,或者能不能被打補丁。需要檢查“applypatch_check ”函數調用的源代碼。函數示例:函數名稱: apply_patch_space函數語法: apply_patch_space(bytes)參數詳解: bytes-檢查的字節的數字作用解釋: 檢查緩存來確定是否有足夠的空間來寫入補丁文件并返回一些數據。函數示例:函數名稱: read_file函數語法: read_file(filename)參數詳解: filename-字符串,要讀取內容的文件名作用解釋: 這個函數返回文件的內容函數示例:函數名稱: sha1_check函數語法: sha1_check(data) 或 sha1_check(data, sha1_hex, ., sha1_hexN)參數詳解: data-要計算sha1哈希值的文件的內容-必須是只讀文件格式 sha1_hexN-文件數據要匹配的特定的十六進制sha1_hex哈希值字符串作用解釋: 如果只指定data參數,這個函數返回data參數的十六進制sha1_hex哈希值字符串。其他參數用來確認你檢查的文件是不是列表中的哈希值的一個。 它返回匹配的哈希值,或者在沒有匹配任何哈希值時返回空。 函數示例:函數名稱: ui_print函數語法: ui_print(msg1, ., msgN)參數詳解: msg-字符串,要處理過程中輸出給用戶的信息作用解釋: 在腳本運行的時候,在控制臺顯示的信息。最少要指定1個參數,你可以指定額外的msg參數,并且它們會連接起來輸了函數示例: ui_print(Its ready!);屏幕打印Its ready!函數名稱: run_program函數語法: run_program(prog, arg1, ., argN)參數詳解: prog-字符串,要執行的程序 argN-字符串,要執行的程序的運行參數作用解釋: 以指定的參執行程序函數示例: run_program(/system/xbin/installbusybox.sh);運行installbus

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論