色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í)其描述)
主站蜘蛛池模板: 少妇高潮水多太爽了动态图 | 无码国产偷倩在线播放 | 成人免费看片又大又黄 | 天堂在线最新版 | 免费人成网站视频在线观看国内 | 日本视频免费 | 少妇人妻久久无码专区 | 免费看黄a级毛片 | 男女好痛好深好爽视频 | 国产亚洲AV综合人人澡精品 | 国产一二| 麻豆果冻传媒2021精品 | 日韩精品无码一二区A片换脸 | 好男人WWW社区视频在线资源 | 在线观看成人无码中文av天堂 | 欧美日韩亚洲tv不卡久久 | 免费中文熟妇在线影片 | 办公室被吃奶好爽在线观看视频 | 一区二区三区日本久久九 | 精品少妇ay一区二区三区 | 在线天堂中文最新版www | 免费观看裸体美女网站 | 亚洲精品无码专区在线观看 | 欧美猛男军警GAY自慰 | 国产又粗又爽又猛的视频A片 | 性少妇freesexvideos强迫 | 91麻豆国产福利在线观看宅福利 | 国产亚洲精品久久久999蜜臀 | 亚洲AV高清在线观看一区二区 | 曰本一道本久久88不卡 | 一二三四视频社区在线 | 在线看片人成视频免费无遮挡 | 最近中文2019字幕第二页 | 欧美亚洲色偷另类图片欧美 | 国模大胆一区二区三区 | 怡红院AV亚洲一区二区三区H | 国产在线播放精品视频 | 成年日韩片av在线网站 | 国产特黄一级片 | AV无码久久久久久不卡网站 | 日本丰满老妇BBW |