Android系統(tǒng)移植與平臺(tái)開發(fā)(一)
時(shí)間:2016-12-12作者:華清遠(yuǎn)見
一、Android4.0系統(tǒng)的下載與編譯 Android系統(tǒng)的下載與編譯,Google的官方網(wǎng)站上已經(jīng)給出了詳細(xì)的說(shuō)明,請(qǐng)參照Android的官方網(wǎng)址: //source.android.com/source/index.html 內(nèi)容主要分為: 下面我們依次來(lái)說(shuō)明其步驟及注意事項(xiàng)。 1. 準(zhǔn)備Android下載與編譯環(huán)境 Android源碼的編譯Google只給出了在類Unix系統(tǒng),確切的說(shuō)是Ubuntu及MacOS上的詳細(xì)過(guò)程,我們下面只描述Ubuntu上的編譯過(guò)程。 1.1硬件環(huán)境: 足夠快的PC機(jī),如果有條件,好是使用實(shí)體PC 內(nèi)存少1G,硬盤少要30GB 注:也可以使用Vmware或VirtualBox等虛擬機(jī)軟件,但是編譯速度太慢,至于內(nèi)存,如果小于1G,在編譯系統(tǒng)時(shí)可能會(huì)出錯(cuò)。 1.2軟件環(huán)境 我們使用Ubuntu12.04作為編譯主機(jī)系統(tǒng),(官方不建議使用Ubuntu12.04版本),由于Android系統(tǒng)里代碼大部分是由Java語(yǔ)言寫的,所以必然要安裝JDK,不過(guò),不同的版本,對(duì)JDK的版本有不同的要求: 在Gingerbread(2.3.x) 版本及其之后版本,使用JDK6.0,并且使用64位系統(tǒng)編譯 在Gingerbread(2.3.x) 以前版本,使用JDK5.0,并且可以在32位系統(tǒng)上編譯 注:當(dāng)然我們通過(guò)修改一些配置文件,在32位系統(tǒng)上編譯,但是不能保證編譯出來(lái)的系統(tǒng)將來(lái)能否不出問題。 JDK6.0建議直接從SUN公司的網(wǎng)站上下載://java.sun.com/javase/downloads/ 安裝編譯時(shí)依賴的包: 執(zhí)行下面的命令: 2. 下載Android4.0及Goldfish源碼 2.1 下載并初始化repo工具 依次執(zhí)行下面的命令:
$ mkdir ~/bin 2.2下載Android源碼 通過(guò)執(zhí)行下面的命令,開始下載Android源碼: 2.3其它源碼下載源 前面所述的下載步驟是Google放出一官方版本的Android代碼,它里面通常只有模擬器和部分和Google有合作關(guān)系設(shè)備的源碼,如果要想編譯一個(gè)目標(biāo)設(shè)備的Android4.0.1系統(tǒng),我們肯定要對(duì)其進(jìn)行定制,不過(guò)有一些知名的設(shè)備生產(chǎn)廠商或第三方廠商,也會(huì)開源針對(duì)自己設(shè)備的Android系統(tǒng),如:三星,高通等,比較專業(yè)的,網(wǎng)址如下: www.linaro.org linaro網(wǎng)站主要是ARM的芯片的新Android解決方案,如:基于三星獵戶座芯片的origen開發(fā)板,基于TI的OMAP系統(tǒng)芯片的PandaBoard板,基于Nova A9500 ARM 雙核Cortex A9的snowball開發(fā)板等。 如果從上述網(wǎng)站上下載源碼,要根據(jù)上述網(wǎng)站的說(shuō)明進(jìn)行相關(guān)操作。 2.4 下載模擬器Goldfish內(nèi)核源碼 Google在開發(fā)Android系統(tǒng)的同時(shí),使用qemu開發(fā)了針對(duì)每個(gè)版本的一個(gè)模擬器,這大大降低了開發(fā)人員的開發(fā)成本,便于Android技術(shù)的推廣。qemu是一個(gè)開源的模擬處理器軟件,而Google使用qemu模擬的是ARM926ej-S的Goldfish處理器,如果開發(fā)人員在沒有目標(biāo)開發(fā)板的情況下,要對(duì)硬件進(jìn)行操作的話,必然要去操作Android底層的驅(qū)動(dòng),我們可以使用模擬器的內(nèi)核源碼。 ø下載Goldfish內(nèi)核源碼 首先進(jìn)入到Android的源碼目錄,創(chuàng)建源碼目錄kernel: 大概幾十分鐘后,下載完了,如下圖所示: 在kernel目錄下產(chǎn)生一個(gè)goldfish目錄,進(jìn)入到該目錄下: 通過(guò)ls–al命令查看當(dāng)前目錄,可以看到隱藏的.git。 通過(guò)git branch –a來(lái)查看所以分支: 通過(guò)git checkout來(lái)得到源碼: 如下圖所示,當(dāng)前目錄下出現(xiàn)了Linux內(nèi)核源碼的目錄結(jié)構(gòu): 相關(guān)資訊
發(fā)表評(píng)論
|