[教程] [经验技巧] 任意手机移植ROM 教程,超详细ROM 技术学习
一、Android的ROM結(jié)構(gòu)
 1)Android的分區(qū)
 Android的分區(qū),不說清楚這個,下面都不好講,Android一般都分這幾個區(qū): bootloader分區(qū)用來存儲uboot,system分區(qū)存儲Android,data分區(qū)用來存儲用戶數(shù)據(jù),boot分區(qū)用來存儲內(nèi)核文件和ramdisk,recovery分區(qū)存儲內(nèi)核文件和recovery程序,其他還有misc和cache等等。當(dāng)然各個公司會根據(jù)各自需求增加一些別的分區(qū)。啟動過程是先由bootloader啟動uboot,然后uboot啟動內(nèi)核,內(nèi)核會根據(jù)init.rc里的指令mount system data等這些分區(qū),mount好以后,Android就開始啟動了。你應(yīng)該注意到上面的分區(qū)里有兩個分區(qū)都存有內(nèi)核文件,就是boot和recovery,boot是正常啟動流程會用到的內(nèi)核文件,如果啟動過程中發(fā)現(xiàn)有特殊按鍵,uboot就會讀取recovery分區(qū)里的內(nèi)核和ramdisk。這就是為什么你啟動時按著某個組合鍵就會進(jìn)入recovery程序。進(jìn)入recovery模式以后,直接面對用戶的是跑在內(nèi)核上的recovery程序。這個時候除了recovery分區(qū)以外的其他分區(qū)你想寫誰都可以了。recovery去讀取rom文件,根據(jù)文件里的內(nèi)容來更新系統(tǒng),如果是img文件就直接dd到分區(qū)里,如果是文件夾就把文件里的東西copy到相應(yīng)分區(qū)里(好像是這樣)。更新完按正常啟動過程重啟機(jī)器就o了。內(nèi)核文件在boot.img里的,boot.img是由內(nèi)核文件和ramdisk.img組成的,刷在boot分區(qū)里。你如果打開一個rom文件,如果里面如果有boot.img,哪說明刷這個rom的時候它是要更新內(nèi)核的。但一般第三方定制的rom是不會去動你的內(nèi)核的,只刷system。所以你在里面找不到內(nèi)核文件。如果你找不到system.img,那里面應(yīng)該有一個叫system的文件夾吧。是img就dd到system分區(qū),是文件夾就copy到system分區(qū)。
2)刷機(jī)包rom
 刷機(jī)包rom,一般的刷機(jī)包包括一個/meta-inf目錄和一個/system目錄,/meta-inf中包含了刷機(jī)的腳本和證書,/system中就是我們需要的rom包,有些其他的rom還有/data。至于你說的bootloader,這個相當(dāng)于電腦中的bios一般刷機(jī)是不用bootloader的,用recovery刷機(jī);recovery刷機(jī)時先檢查.zip下的簽名然后按照腳本中的代碼執(zhí)行,例如:判斷機(jī)型,掛載需要刷機(jī)的分區(qū),然后格式化,寫入待刷文件,最后卸載分區(qū)。
3)META_INF文件
 在META_INF文件夾下層層尋找會找到updater_script,這個文件是現(xiàn)有recovery進(jìn)行解析,然后根據(jù)內(nèi)容執(zhí)行 格式化,釋放,刷入,刪除,改變屬性,執(zhí)行腳本等動作。以此來完成刷機(jī)或OTA動作。
二、從內(nèi)核基于linux開始
整個系統(tǒng)就運(yùn)行在一個虛擬機(jī)上,這是安卓的一大特征!!
那么我們移植的時候要修改哪一部分?
這就是我們這個帖子的重點(diǎn)了
參考本鏈接
 http://www.miui.com/thread-3660267-1-1.html
 交流學(xué)習(xí)
通俗易懂的流程,主體框架不會改變。固定的目錄結(jié)構(gòu),移植不同設(shè)備,根據(jù)不同的需求對幾個特定文件進(jìn)行修改。最后重新進(jìn)行壓縮zip,zip包名改為update便于區(qū)分新版本。最后使用特定工具加簽名,到此新的刷機(jī)ROM包已經(jīng)打包完成。只需拷貝到手機(jī)SD卡上,安裝即可。
總結(jié)
以上是生活随笔為你收集整理的[教程] [经验技巧] 任意手机移植ROM 教程,超详细ROM 技术学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: exe4j下载地址
- 下一篇: Cap Stone:Section 15
