日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[教程] [经验技巧] 任意手机移植ROM 教程,超详细ROM 技术学习

發布時間:2024/1/18 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [教程] [经验技巧] 任意手机移植ROM 教程,超详细ROM 技术学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Android的ROM結構
1)Android的分區
Android的分區,不說清楚這個,下面都不好講,Android一般都分這幾個區: bootloader分區用來存儲uboot,system分區存儲Android,data分區用來存儲用戶數據,boot分區用來存儲內核文件和ramdisk,recovery分區存儲內核文件和recovery程序,其他還有misc和cache等等。當然各個公司會根據各自需求增加一些別的分區。啟動過程是先由bootloader啟動uboot,然后uboot啟動內核,內核會根據init.rc里的指令mount system data等這些分區,mount好以后,Android就開始啟動了。你應該注意到上面的分區里有兩個分區都存有內核文件,就是boot和recovery,boot是正常啟動流程會用到的內核文件,如果啟動過程中發現有特殊按鍵,uboot就會讀取recovery分區里的內核和ramdisk。這就是為什么你啟動時按著某個組合鍵就會進入recovery程序。進入recovery模式以后,直接面對用戶的是跑在內核上的recovery程序。這個時候除了recovery分區以外的其他分區你想寫誰都可以了。recovery去讀取rom文件,根據文件里的內容來更新系統,如果是img文件就直接dd到分區里,如果是文件夾就把文件里的東西copy到相應分區里(好像是這樣)。更新完按正常啟動過程重啟機器就o了。內核文件在boot.img里的,boot.img是由內核文件和ramdisk.img組成的,刷在boot分區里。你如果打開一個rom文件,如果里面如果有boot.img,哪說明刷這個rom的時候它是要更新內核的。但一般第三方定制的rom是不會去動你的內核的,只刷system。所以你在里面找不到內核文件。如果你找不到system.img,那里面應該有一個叫system的文件夾吧。是img就dd到system分區,是文件夾就copy到system分區。

2)刷機包rom
刷機包rom,一般的刷機包包括一個/meta-inf目錄和一個/system目錄,/meta-inf中包含了刷機的腳本和證書,/system中就是我們需要的rom包,有些其他的rom還有/data。至于你說的bootloader,這個相當于電腦中的bios一般刷機是不用bootloader的,用recovery刷機;recovery刷機時先檢查.zip下的簽名然后按照腳本中的代碼執行,例如:判斷機型,掛載需要刷機的分區,然后格式化,寫入待刷文件,最后卸載分區。

3)META_INF文件
在META_INF文件夾下層層尋找會找到updater_script,這個文件是現有recovery進行解析,然后根據內容執行 格式化,釋放,刷入,刪除,改變屬性,執行腳本等動作。以此來完成刷機或OTA動作。

二、從內核基于linux開始

整個系統就運行在一個虛擬機上,這是安卓的一大特征!!

那么我們移植的時候要修改哪一部分?

這就是我們這個帖子的重點了

參考本鏈接
http://www.miui.com/thread-3660267-1-1.html
交流學習

通俗易懂的流程,主體框架不會改變。固定的目錄結構,移植不同設備,根據不同的需求對幾個特定文件進行修改。最后重新進行壓縮zip,zip包名改為update便于區分新版本。最后使用特定工具加簽名,到此新的刷機ROM包已經打包完成。只需拷貝到手機SD卡上,安裝即可。

總結

以上是生活随笔為你收集整理的[教程] [经验技巧] 任意手机移植ROM 教程,超详细ROM 技术学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。