• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Android系統(tǒng)核心管理工具設(shè)計與實現(xiàn)

      2015-04-29 01:36:49關(guān)麗霞單紅麗
      計算機時代 2015年3期
      關(guān)鍵詞:Android系統(tǒng)固件內(nèi)核

      關(guān)麗霞 單紅麗

      摘 要: 針對Android系統(tǒng)版本過多,導(dǎo)致普通用戶對Android系統(tǒng)的ROM進行管理配置操作困難及升級滯后的難題,提出并實現(xiàn)了一個Android系統(tǒng)核心管理工具軟件。以Android提供的通用格式,采用圖形化用戶界面的方法,對Android系統(tǒng)的核心鏡像boot.img進行管理配置,支持解包、讀取信息、修改信息、打包的完整流程,實現(xiàn)系統(tǒng)定制和固件升級的簡易操作。測試結(jié)果表明,該軟件形成了一個可擴展的框架,對快速加入用戶提出的核心管理功能,可極好地滿足普通用戶簡易操作,快速升級固件的要求。

      關(guān)鍵詞: Android系統(tǒng); 內(nèi)核; boot.img; 固件

      中圖分類號:TP315 文獻標(biāo)志碼:A 文章編號:1006-8228(2015)03-44-02

      Abstract: Since a variety of excessive Android system version, the ordinary users are hard to operat to the Android systems ROM for management, configuration and upgrade. This paper presents the design and implementation of a core management tool software for Android system, which configures the core mirror boot.img of Android system by using the graphical user interface in the general format offered by Android, supports the complete process of unpacking, the information reading, modifying and packing, and realizes the simple operating of system customizing and firmware upgrading. The test results show that, the software has formed an extensible framework, to quickly add user proposed core management functions, meet the ordinary user easy to operate, rapid upgrade firmware requirements.

      Key words: Android system; kernel; boot.img; firmware

      0 引言

      Android是Google基于Linux平臺推出的開源操作系統(tǒng),主要用于各種智能手機和平板電腦。Android平臺的開放性允許任何移動終端廠商加入到Android聯(lián)盟中來,使得Android在國內(nèi)外有著廣泛的應(yīng)用[1]。

      正由于Android開放性的特點,很多廠商都通過定制自己的Android系統(tǒng)(如界面、應(yīng)用程序)來給用戶提供豐富的選擇,同時也形成了各種各樣的過多的版本。再加上Google Android升級很快,而廠商對固件的升級要經(jīng)過深度研發(fā),需要有一定的周期,這又造成了升級的滯后問題。

      Android系統(tǒng)的ROM中boot.img和recovery.img是系統(tǒng)最核心的部分,管理系統(tǒng)啟動時的各種關(guān)鍵任務(wù)和配置。但是Android系統(tǒng)對ROM的管理、配置、修改功能的管理還很松散,操作非常不方便,難以被普通用戶使用。目前國內(nèi)外尚沒有出現(xiàn)較簡潔的管理方式,一般都是在Linux環(huán)境下通過各種工具在命令行方式下進行,步驟較多,操作較復(fù)雜,而且稍有不慎就可能損壞鏡像,造成死機,極不適合普通用戶[2]。

      針對上述問題,本文提出實現(xiàn)一個圖形化用戶界面的方法,對Android系統(tǒng)的核心鏡像boot.img進行管理、修改、配置,從而使系統(tǒng)定制和固件升級變得簡單和易于操作。

      1 Android系統(tǒng)核心管理工具開發(fā)過程

      Android系統(tǒng)ROM中的boot.img包含系統(tǒng)啟動時使用的內(nèi)核(kernel)、文件系統(tǒng)(ramdisk)及附加部分(second)。recovery.img主要用于恢復(fù)系統(tǒng)原始配置時使用,其所包含的內(nèi)容不同于boot.img,但包含的文件鏡像和boot.img相似。這里以boot.img為例,對這兩個鏡像的管理分兩個步驟完成。

      1.1 鏡像制作打包

      kernel來自于Linux 2.6的內(nèi)核,是Android系統(tǒng)采用的底層操作系統(tǒng),主要有進程、內(nèi)存管理和硬件設(shè)備驅(qū)動等模塊,由內(nèi)核編譯得到相應(yīng)的鏡像。

      ramdisk映像是一個最基礎(chǔ)的小型文件系統(tǒng),在內(nèi)核啟動完畢后,會將此映像掛載為根文件系統(tǒng),ramdisk是一種內(nèi)存文件系統(tǒng),整個映像作為內(nèi)存盤,它包括了初始化系統(tǒng)所需要的全部核心文件,例如:初始化init進程以及init.rc(可以用于設(shè)置很多系統(tǒng)的參數(shù))等文件??梢杂蒫pio工具進行打包和gzip壓縮得到。

      1.2 鏡像解包

      根據(jù)mkbootimg的打包文件格式,對boot.img進行解包,其中boot header主要記錄整個鏡像的全部信息,大小為一頁2k(根據(jù)大容量Nand Flash頁的大小決定)。我們的解包程序?qū)⒆x取boot header的信息,首先判斷魔數(shù)是否為"ANDROID!"確認所給鏡像為boot.img,然后根據(jù)各部分鏡像大小和頁大小分別提取kernel、ramdisk、second三個部分的內(nèi)容。用戶界面將及時提示解包出的各個鏡像信息,也可以將信息存儲成相應(yīng)的文件。

      對ramdisk,second鏡像進行解包,還原系統(tǒng)文件。首先對ramdisk使用gzip解壓縮,將根文件系統(tǒng)還原為原來大小,然后由cpio工具對鏡像進行解包,保存到指定的目錄中,解包過程中保留Linux系統(tǒng)需要的各文件的UID/GID/權(quán)限等信息。所以,需要將gzip或7z等壓縮工具設(shè)定為無損壓縮。用戶界面顯示解壓出的文件列表,用戶根據(jù)需要選擇相應(yīng)文件,可以進行修改、替換、刪除、添加等操作,例如修改init.rc,對Android系統(tǒng)啟動進程進行管理。

      以上流程將做成一個與mkbootimg相對應(yīng)的工具debootimg。鏡像解包流程中還包含對各部分文件的管理工作,如刪除、添加、替換等操作。這一部分將由debootimg核心解包工具提供相應(yīng)接口對用戶界面進行支持。

      2 關(guān)鍵技術(shù)

      實現(xiàn)boot.img和recovery.img的解包和打包,要求可以解出兩個img中的頭信息、啟動核心、ramdisk及附加部分,以及ramdisk中的文件。要求保留Linux系統(tǒng)需要的各文件的UID/GID/權(quán)限等信息。

      編寫界面程序,需處理各種異常情況。形成一個可擴展的框架,對以后用戶提出的核心管理功能可以快速加入。一鍵完成對核心的打包壓縮。根據(jù)用戶愛好設(shè)定并實現(xiàn)對核心部分的智能化管理。

      3 生成圖形化用戶操作窗口

      在用戶操作的界面中,顯示當(dāng)前正在編輯home/zz/kunpeng/test_d/boot_img/ram/init.rc文件。在用戶配置好boot.img文件路徑以及工具集路徑后,即可以選擇制作升級包或者解包來完成相應(yīng)的操作。其圖形化用戶操作窗口界面略。

      4 結(jié)束語

      本文以Android提供的通用格式,采用圖形化用戶界面的方法,實現(xiàn)了一個Android系統(tǒng)核心管理工具,對Android系統(tǒng)的核心鏡像boot.img進行管理、修改、配置,實現(xiàn)了boot.img和recovery.img的解包和打包,可以解出兩個img中的頭信息、啟動核心、ramdisk及附加部分,以及ramdisk中的文件,并且保留了Linux系統(tǒng)需要的各文件的UID/GID/權(quán)限等信息。實驗結(jié)果表明,該軟件支持解包、讀取信息、修改信息、打包的完整流程,方便普通用戶對Android系統(tǒng)的ROM進行管理,實現(xiàn)系統(tǒng)定制和固件升級的簡易操作。下一步將對該軟件進一步完善,形成一個可擴展的框架,讓用戶可以快速的加入其所需要的核心管理功能,如對一鍵完成對核心的打包壓縮和Flash的燒寫,根據(jù)用戶愛好設(shè)定,實現(xiàn)對核心的智能化管理等,進一步滿足普通用戶簡易操作,快速升級固件的要求。

      參考文獻:

      [1] 柯元旦.Android內(nèi)核剖析[M].電子工業(yè)出版社,2001.

      [2] 陳璟,陳平華,李文亮.Android內(nèi)核分析[J].現(xiàn)代計算機,2009.11:

      112-115

      猜你喜歡
      Android系統(tǒng)固件內(nèi)核
      萬物皆可IP的時代,我們當(dāng)夯實的IP內(nèi)核是什么?
      強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
      基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計
      Linux內(nèi)核mmap保護機制研究
      Android下的機械式電表數(shù)字識別技術(shù)研究
      基于Android系統(tǒng)的掌上班級課表與學(xué)生考勤管理系統(tǒng)
      基于GPS和iBeacon的智能校園信息發(fā)布平臺設(shè)計與實現(xiàn)
      基于增強現(xiàn)實技術(shù)的導(dǎo)航系統(tǒng)研究
      基于固件的遠程身份認證
      提取ROM固件中的APP
      電腦愛好者(2015年7期)2015-04-09 08:54:02
      西华县| 盐津县| 板桥市| 岳阳市| 同心县| 墨玉县| 石首市| 铁力市| 平遥县| 建始县| 石首市| 北碚区| 宣城市| 德安县| 宁安市| 卫辉市| 阜康市| 犍为县| 黑龙江省| 武川县| 罗山县| 临西县| 金门县| 海原县| 佛冈县| 即墨市| 思南县| 石柱| 海晏县| 汤原县| 右玉县| 烟台市| 仁化县| 望都县| 明溪县| 伽师县| 来宾市| 南丹县| 简阳市| 揭阳市| 礼泉县|