溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android中怎么實現(xiàn)rom移植

發(fā)布時間:2021-06-28 15:49:26 來源:億速云 閱讀:161 作者:Leah 欄目:移動開發(fā)

本篇文章為大家展示了Android中怎么實現(xiàn)rom移植,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

1 ROM包含兩個基本的image,一個是boot.image,這個image中主要是kernel和文件系統(tǒng)/目錄下的一些東西。kernel我就不說了,/目錄下主要是init和相關(guān)的配置文件

system.image是android系統(tǒng)的userpace的核心,包括/system/bin,system/lib,system/app下的一些東西。

2 手機,不同手機,其內(nèi)部使用的芯片,配置等等都不同。另外,android源碼中并不包含硬件相關(guān)的代碼。也就是說拿標(biāo)準(zhǔn)源碼編譯出來的僅僅在模擬器上跑跑還可以,

拿到真機上,跑也許能跑起來,但也就把手機當(dāng)個模擬器使,電話,audio,wifi等等和硬件相關(guān)的都不能用。沒有什么為什么會這樣,硬件相關(guān)的驅(qū)動是廠商的閉源代碼,

絕對不可能放出來。 不過,android中自帶一些htc/sumsing的二進制HAL層so,也是在編譯對應(yīng)device的時候拷貝到system.image中去的。

所以,基于上面的認(rèn)識,兄弟們就不要想著拿標(biāo)準(zhǔn)源碼搞出一個能正兒八經(jīng)跑的rom了。除此之外,手機還有AP/BP之分,BP的代碼是另外一套,相當(dāng)于另外一個OS,用于

modem通信的。即使你能搞定AP,BP也不要想了

3 CM是怎么搞出來的?CM不是神仙,它的工作我估計分下面幾個來完成:

1 boot.image,有可能是直接基于廠商的。例如在HTC G7移植中,直接使用了G7官方的ROM

2 system,image中,跟硬件無關(guān)的(也就是非HAL層代碼),愛怎么改怎么改。

3 system.image中,跟硬件相關(guān)的,先通過adb pull把官方的so弄出來,然后放到自己的ROM中。這里的工作比較難,但理論上是可以做到二進制兼容的。

從上面可知,如果官方?jīng)]有提供4.0的ROM,CM也歇菜。(我個人覺得其實是可以在4.0中使用2.3的so的,方法可以通過dlopen方式加載,中間再做一層隔離。但如果

依賴的頭文件發(fā)生變化了,那工作量就大了去了)

4 MIUI,點心OS,是CM之上的二次開發(fā)。國人的拿來主義造就了MIUI和點心等其叫囂著做ROM的公司。

綜上,兄弟們不要想著憑一己之力搞個牛叉的ROM了,沒必要,沒意義。

1 想搞rom的,建議在CM基礎(chǔ)上做二次開發(fā),和硬件相關(guān)的統(tǒng)統(tǒng)都不要動。

2 想改ui的,也可以基于現(xiàn)有的system.image,換換圖片,然后再打包成image。

上述內(nèi)容就是Android中怎么實現(xiàn)rom移植,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI