亚洲精品一二区_国产黄色片网站_99久久久成人国产精品_蜜臀网_国产精品一区二区三区免费_成人av中文字幕_91精品国产欧美一区二区成人

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

一、Android4.0系統的下載與編譯

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

內容主要分為:
        1. 準備Android下載與編譯環境
        2. 下載源碼
        3. 編譯源碼及內核源碼

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

1. 準備Android下載與編譯環境

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

1.1硬件環境:

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

內存少1G,硬盤少要30GB

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

1.2軟件環境

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

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

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

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

JDK6.0建議直接從SUN公司的網站上下載://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

執行下面的命令:
        $ 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工具

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

2.2下載Android源碼

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

linaro網站主要是ARM的芯片的新Android解決方案,如:基于三星獵戶座芯片的origen開發板,基于TI的OMAP系統芯片的PandaBoard板,基于Nova A9500 ARM 雙核Cortex A9的snowball開發板等。

如果從上述網站上下載源碼,要根據上述網站的說明進行相關操作。

2.4 下載模擬器Goldfish內核源碼

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

ø下載Goldfish內核源碼

首先進入到Android的源碼目錄,創建源碼目錄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目錄下產生一個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

如下圖所示,當前目錄下出現了Linux內核源碼的目錄結構:

發表評論
評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
主站蜘蛛池模板: 欧美日韩亚洲区久久综合 | 亚洲毛片免费在线观看 | 毛片免费看看 | 精品亚洲视频在线 | 人人澡人人模人人添 | 日本aⅴ在线 | 国产一级免费视频 | 日本不卡在线视频 | 久草1| 澳门一级毛片免费播放 | 日韩高清不卡在线 | 欧美福利大片 | 亚洲日韩欧洲无码av夜夜摸 | 久久久久久综合对白国产 | 午夜私人影院粉色视频我要 | 日本高清天码一区在线播放 | 国产日韩欧美网站 | 五月婷香 | 日本黄色福利视频 | 美腿丝袜在线 | 香港三级网站 | 亚洲an天堂an在线观看 | 在线视频观看一区 | 国产午夜亚洲精品 | 亚洲人人在线 | 青青草成人免费在线视频 | 国产日韩欧美三级 | 男女三级 | 日本www视频在线观看 | 毛片1级 | 日本一区二区三区不卡视频中文字幕 | 秋霞理论最新三级理论最 | 欧美日韩一区二区中文字幕视频 | 国产精品大全国产精品 | 欧美多人性受xxxx喷水 | 国产在线午夜 | 日本韩国免费 | 国产一级毛片一区二区三区 | 日韩在线视频播放 | 国产成人综合一区人人 | 国产成人精品久久一区二区小说 |