刷機(jī)腳本說明.doc_第1頁(yè)
刷機(jī)腳本說明.doc_第2頁(yè)
刷機(jī)腳本說明.doc_第3頁(yè)
刷機(jī)腳本說明.doc_第4頁(yè)
刷機(jī)腳本說明.doc_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論