色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當(dāng)前位置: > 華清遠(yuǎn)見教育科技集團(tuán) > 嵌入式學(xué)習(xí) > 講師博文 > Android系統(tǒng)移植與平臺(tái)開發(fā)(一)
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)容主要分為:
        1. 準(zhǔn)備Android下載與編譯環(huán)境
        2. 下載源碼
        3. 編譯源碼及內(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í)依賴的包:
        $ sudo apt-get install git-core gnupg flex bison gperfbuild-essential \
        zip curl libc6-dev libncurses5-dev:i386x11proto-core-dev \
        libx11-dev:i386 libreadline6-dev:i386libgl1-mesa-glx:i386 \
        libgl1-mesa-dev g++-multilib mingw32 tofrodos \
        python-markdown libxml2-utils xsltproc zlib1g-dev:i386

執(zhí)行下面的命令:
        $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1/usr/lib/i386-linux-gnu/libGL.so

2. 下載Android4.0及Goldfish源碼

2.1 下載并初始化repo工具

依次執(zhí)行下面的命令:         $ mkdir ~/bin
        $ PATH=~/bin:$PATH
        通過(guò)curl命令下載repo工具:
        $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
        給repo工具加下執(zhí)行權(quán)限:
        $ chmod a+x ~/bin/repo
        創(chuàng)建我們的源碼目錄:
        $ mkdir WORKING_DIRECTORY
        $ cd WORKING_DIRECTORY
        初始化repo工具,準(zhǔn)備訪問google源碼倉(cāng)庫(kù):
        $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
        有的時(shí)候使用上面的命令不能連接android服務(wù)器,我們可以使用下面的命令連接:
        $ repo init -u https://android.googlesource.com/a/platform/manifest -b android-4.0.1_r1
        這個(gè)時(shí)候,要保證您的ubuntu能夠上網(wǎng),并且能正常連接到Android服務(wù)器,在初始化完repo工具后,會(huì)讓你輸入gmail郵箱及用戶名驗(yàn)證。

2.2下載Android源碼

通過(guò)執(zhí)行下面的命令,開始下載Android源碼:
        $repo sync
        如果你的PC機(jī)足夠給力,可以在命令后面加上–jn,n表示多個(gè)線程同時(shí)下載,可以提高下載速度。
        然后是漫長(zhǎng)的等待,Android4.0.1的源碼大概有6GB左右,一般1~2個(gè)晚上的時(shí)間。
        有的時(shí)候,網(wǎng)絡(luò)可能會(huì)斷,我們可以使用下面的腳本來(lái)進(jìn)行下載,當(dāng)連接出錯(cuò)時(shí),會(huì)自動(dòng)下載。
        #!/bin/bash
        PATH=~./bin:$PATH
        repo init-u https://android.googlesource.com/a/platform/manifest-b android-4.0.1_r1
        repo sync
        while [ $? = 0
        ]; do
        echo" **Error: sync failed, re-sync again"
        sleep 5
        repo sync
        done

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:
        $ cd WORKING_DIRECTORY
        $ mkdir kernel
        從Android的遠(yuǎn)程源碼倉(cāng)庫(kù)下載源碼:
        $git clone //android.googlesource.com/kernel/goldfish.git
        當(dāng)然,如果你要編譯指定目標(biāo)平臺(tái)的kernel的話,也可以從指定的倉(cāng)庫(kù)里下載,官方給出了下列處理器的kernel:
        $ git clone https://android.googlesource.com/kernel/common.git
        $ git clone https://android.googlesource.com/kernel/exynos.git
        $ git clone https://android.googlesource.com/kernel/goldfish.git
        $ git clone https://android.googlesource.com/kernel/msm.git
        $ git clone https://android.googlesource.com/kernel/omap.git
        $ git clone https://android.googlesource.com/kernel/samsung.git
        $ git clone https://android.googlesource.com/kernel/tegra.git

大概幾十分鐘后,下載完了,如下圖所示:

在kernel目錄下產(chǎn)生一個(gè)goldfish目錄,進(jìn)入到該目錄下:
        $ cd goldfish
        $ ls -al

通過(guò)ls–al命令查看當(dāng)前目錄,可以看到隱藏的.git。

通過(guò)git branch –a來(lái)查看所以分支:
        $ git branch -a

通過(guò)git checkout來(lái)得到源碼:
        $ git checkout remotes/origin/android-goldfish-2.6.29

如下圖所示,當(dāng)前目錄下出現(xiàn)了Linux內(nèi)核源碼的目錄結(jié)構(gòu):

發(fā)表評(píng)論
評(píng)論列表(網(wǎng)友評(píng)論僅供網(wǎng)友表達(dá)個(gè)人看法,并不表明本站同意其觀點(diǎn)或證實(shí)其描述)
主站蜘蛛池模板: 免费看又黄又爽又猛的视频 | 亚洲美免无码中文字幕在线 | 出差被夫の上司持久侵犯在线观看 | 欧美乱强伦XXXX孕妇 | 无码人中文字幕 | 囯产香蕉97碰碰碰视频在线观看 | 日韩午夜伦伦午夜伦老司机 | 中文字幕精品亚洲无线码二区 | 精品国产AV无码一道 | 中文字幕 国产 | 色吊丝中文字幕 | 一区二区乱子伦在线播放 | 亚洲精品无码少妇30P | 偷欢人妻HD三级中文 | 国产美女A做受大片观看 | 亚洲国产精品成人久久久麻豆 | 免费人成在线观看视频高潮 | 日韩人妻无码免费视频一区二区 | 超清无码无卡中文字幕 | 无码欧美熟妇人妻影院欧美潘金莲 | 最新国产毛2卡3卡4卡 | 爆乳一丝丝不挂裸体大胸美女 | 国产精品青草久久久久婷婷 | 中文字幕一区二区三区四区五区六区 | 日韩人妻一区二区三区免费 | 99久久国产综合精品五月天 | 哪个网站可以看av | 人妻老妇乱子伦精品无码专区 | mm1313午夜在线观看 | 老熟妇大胆性开放图 | 午夜天堂AV天堂久久久 | 亚洲精品夜夜夜妓女网 | 96在线看片免费视频国产 | 国产V亚洲V欧美V专区 | 黄色片免费在线观看视频 | 国产精品你懂的在线播放 | 亚洲精品无码你懂的 | 免费少妇荡乳情欲视频 | 国产成人精品午夜福麻豆报告 | 性一交一乱一伦一色一情丿按摩 | 久久精品国产视频在热 |