自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android rom移植知識(shí)

移動(dòng)開發(fā) Android
ROM包含兩個(gè)基本的image,一個(gè)是boot.image,這個(gè)image中主要是kernel和文件系統(tǒng)/目錄下的一些東西。kernel我就不說了,/目錄下主要是init和相關(guān)的配置文件system.image是android系統(tǒng)的userpace的核心,包括/system/bin,system/lib,system/app下的一些東西。

最近接到很多兄弟們的求助,也回答過無數(shù)個(gè)和下面這個(gè)問題類似的問題:

如何編譯android 原生代碼得到一個(gè)rom,然后跑到某某手機(jī)上。

鑒于很多兄弟對(duì)這塊不清楚,我這里一并簡(jiǎn)單回答之。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2 想改ui的,也可以基于現(xiàn)有的system.image,換換圖片,然后再打包成image。這個(gè)網(wǎng)上有很多做法。技術(shù)含量不高,玩玩可以了。

ANY WAY,謝謝兄弟們的信任。歡迎高手就上述知識(shí)點(diǎn)和大家argue。

責(zé)任編輯:張葉青 來源: 博客園
相關(guān)推薦

2012-04-10 13:16:40

Android騰訊

2013-01-04 15:17:49

Android ROM

2013-12-02 10:33:36

Android 4.4Nexus One

2011-06-15 18:20:20

Qt 移植 Android

2012-04-10 14:16:00

騰訊AndroidTita

2011-08-23 09:12:27

TouchPadAndroid

2010-07-23 16:08:38

OPhone平臺(tái)

2010-01-28 13:50:03

Android移植

2009-03-22 09:38:03

Android移植J2ME

2009-03-27 08:56:35

AndroidGoogle移動(dòng)OS

2015-05-05 10:16:17

AndroidWindows

2012-01-09 16:20:17

Android 4.0點(diǎn)心ROM

2021-08-08 11:29:04

Android第三方ROM調(diào)查

2009-04-23 08:23:09

AndroidGoogle移動(dòng)OS

2015-04-23 10:54:38

Cortana UI移植

2015-04-23 10:40:14

Cortana UI情緒

2011-10-31 10:01:58

Android 4.0ROM

2011-12-09 21:10:50

Android

2010-07-30 14:08:51

.NET for An

2012-05-18 11:12:09

TitaniumMetro UIiOS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)