www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > > 充電吧
[導(dǎo)讀]這是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ù)的返回值來確


這是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("MountFailed!");

這個(gè)命令會(huì)嘗試去掛載命名為“system”的“MTD”分區(qū)到“/system”。如果掛載成功,腳本會(huì)顯示“Successfully Mounted!”,否則會(huì)顯示“Mount Failed!”。

?

現(xiàn)面是用在Edify的Updater-script中的函數(shù)例子:

?

函數(shù)名稱: mount

函數(shù)語法:mount(fs_type, partition_type, location, mount_point)

參數(shù)詳解: fs_type-----------------"yaffs2"或"ext4"

partition_type----------"MTD"或"EMMC"

location-----------------分區(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"或 "ext4"

partition_type----------字符串, "MTD"或"EMMC"

location-----------------字符串,分區(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代表用戶為root

2000代表用戶組為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_recursive0 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ù)是用來返指定的屬性的值。它是用來從build.props文件中查詢手機(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("It's ready!");屏幕打印It's 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)行installbusybox.sh腳本文件

?

函數(shù)名稱: ifelse

函數(shù)語法:ifelse(condition, truecondition, falsecondition)

參數(shù)詳解: condition----------------要運(yùn)算的表達(dá)式

Truecondition-----------當(dāng)值為True時(shí)執(zhí)行的 Edify腳本塊

Falsecodnition-----------當(dāng)值為False時(shí)執(zhí)行的 Edify腳本塊

作用解釋:這是If-then結(jié)構(gòu)的 Edify腳本語言。在真條件或非條件下語句可以是單條Edify命令或者腳本塊。腳本塊可以用圓括號(hào)來界定,用分號(hào)來隔開。

函數(shù)示例:

?

函數(shù)名稱: abort

函數(shù)語法: abort()

參數(shù)詳解:沒有參數(shù)

作用解釋:中止腳本執(zhí)行

函數(shù)示例:

?

函數(shù)名稱: assert

函數(shù)語法:assert(condition)

參數(shù)詳解:condition---------------boolean

作用解釋:如果condition參數(shù)的計(jì)算結(jié)果為False,則停止腳本執(zhí)行,否則繼續(xù)執(zhí)行腳本

函數(shù)示例:assert(package_extract_file("boot.img","/tmp/boot.img"),write_raw_image("/tmp/boot.img","boot"),delete("/tmp/boot.img"))

執(zhí)行package_extract_file,如果不返回錯(cuò)誤則執(zhí)行write_raw_image,如果write_raw_image不出錯(cuò)則執(zhí)行delete

?

?

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉