色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

當前位置: > 華清遠見教育科技集團 > 嵌入式學(xué)習(xí) > 講師博文 > Android系統(tǒng)移植與平臺開發(fā)(一)
Android系統(tǒng)移植與平臺開發(fā)(一)
時間:2016-12-12作者:華清遠見

一、Android4.0系統(tǒng)的下載與編譯

Android系統(tǒng)的下載與編譯,Google的官方網(wǎng)站上已經(jīng)給出了詳細的說明,請參照Android的官方網(wǎng)址: //source.android.com/source/index.html

內(nèi)容主要分為:
        1. 準備Android下載與編譯環(huán)境
        2. 下載源碼
        3. 編譯源碼及內(nèi)核源碼

下面我們依次來說明其步驟及注意事項。

1. 準備Android下載與編譯環(huán)境

Android源碼的編譯Google只給出了在類Unix系統(tǒng),確切的說是Ubuntu及MacOS上的詳細過程,我們下面只描述Ubuntu上的編譯過程。

1.1硬件環(huán)境:

足夠快的PC機,如果有條件,好是使用實體PC

內(nèi)存少1G,硬盤少要30GB

注:也可以使用Vmware或VirtualBox等虛擬機軟件,但是編譯速度太慢,至于內(nèi)存,如果小于1G,在編譯系統(tǒng)時可能會出錯。

1.2軟件環(huán)境

我們使用Ubuntu12.04作為編譯主機系統(tǒng),(官方不建議使用Ubuntu12.04版本),由于Android系統(tǒng)里代碼大部分是由Java語言寫的,所以必然要安裝JDK,不過,不同的版本,對JDK的版本有不同的要求:

在Gingerbread(2.3.x) 版本及其之后版本,使用JDK6.0,并且使用64位系統(tǒng)編譯

在Gingerbread(2.3.x) 以前版本,使用JDK5.0,并且可以在32位系統(tǒng)上編譯

注:當然我們通過修改一些配置文件,在32位系統(tǒng)上編譯,但是不能保證編譯出來的系統(tǒng)將來能否不出問題。

JDK6.0建議直接從SUN公司的網(wǎng)站上下載://java.sun.com/javase/downloads/

安裝編譯時依賴的包:
        $ 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
        通過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工具,準備訪問google源碼倉庫:
        $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
        有的時候使用上面的命令不能連接android服務(wù)器,我們可以使用下面的命令連接:
        $ repo init -u https://android.googlesource.com/a/platform/manifest -b android-4.0.1_r1
        這個時候,要保證您的ubuntu能夠上網(wǎng),并且能正常連接到Android服務(wù)器,在初始化完repo工具后,會讓你輸入gmail郵箱及用戶名驗證。

2.2下載Android源碼

通過執(zhí)行下面的命令,開始下載Android源碼:
        $repo sync
        如果你的PC機足夠給力,可以在命令后面加上–jn,n表示多個線程同時下載,可以提高下載速度。
        然后是漫長的等待,Android4.0.1的源碼大概有6GB左右,一般1~2個晚上的時間。
        有的時候,網(wǎng)絡(luò)可能會斷,我們可以使用下面的腳本來進行下載,當連接出錯時,會自動下載。
        #!/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è)備的源碼,如果要想編譯一個目標設(shè)備的Android4.0.1系統(tǒng),我們肯定要對其進行定制,不過有一些知名的設(shè)備生產(chǎn)廠商或第三方廠商,也會開源針對自己設(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)站的說明進行相關(guān)操作。

2.4 下載模擬器Goldfish內(nèi)核源碼

Google在開發(fā)Android系統(tǒng)的同時,使用qemu開發(fā)了針對每個版本的一個模擬器,這大大降低了開發(fā)人員的開發(fā)成本,便于Android技術(shù)的推廣。qemu是一個開源的模擬處理器軟件,而Google使用qemu模擬的是ARM926ej-S的Goldfish處理器,如果開發(fā)人員在沒有目標開發(fā)板的情況下,要對硬件進行操作的話,必然要去操作Android底層的驅(qū)動,我們可以使用模擬器的內(nèi)核源碼。

ø下載Goldfish內(nèi)核源碼

首先進入到Android的源碼目錄,創(chuàng)建源碼目錄kernel:
        $ cd WORKING_DIRECTORY
        $ mkdir kernel
        從Android的遠程源碼倉庫下載源碼:
        $git clone //android.googlesource.com/kernel/goldfish.git
        當然,如果你要編譯指定目標平臺的kernel的話,也可以從指定的倉庫里下載,官方給出了下列處理器的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)生一個goldfish目錄,進入到該目錄下:
        $ cd goldfish
        $ ls -al

通過ls–al命令查看當前目錄,可以看到隱藏的.git。

通過git branch –a來查看所以分支:
        $ git branch -a

通過git checkout來得到源碼:
        $ git checkout remotes/origin/android-goldfish-2.6.29

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

發(fā)表評論
評論列表(網(wǎng)友評論僅供網(wǎng)友表達個人看法,并不表明本站同意其觀點或證實其描述)
色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 国内精品一区二区三区四区| 人妖精品videosex性欧美| 久久亚洲国产精品| 久久综合久中文字幕青草| 久久久久北条麻妃免费看| 欧美日韩国产一区二区三区| 久久91亚洲精品中文字幕奶水| 精品国产户外野外| 91爱视频在线| 国产日韩欧美电影在线观看| 亚洲欧美国产一区二区三区| 久久久久久久久爱| 日韩av手机在线观看| 成人黄色影片在线| 中文字幕久热精品在线视频| 久久影视电视剧免费网站| 欧美激情精品久久久久| 日韩美女免费视频| 亚洲国产成人精品女人久久久 | 国内精品久久影院| 国产精品h在线观看| 亚洲精品福利视频| 岛国av一区二区三区| 欧美一区二区三区……| 亚洲一区精品电影| 九九九久久国产免费| 日韩免费看的电影电视剧大全| 亚洲国产福利在线| 欧美人与性动交a欧美精品| 欧美一级大片在线观看| 亚洲精品xxxx| 欧美电影在线播放| 91免费国产网站| 久久亚洲私人国产精品va| 国产精品久久久久免费a∨| 一本色道久久综合狠狠躁篇的优点| 欧美成人在线网站| 成人免费视频网| 久热在线中文字幕色999舞| 国产精品美女主播| 久久精品国产亚洲一区二区 |