Android研究-Android系統編譯、SDK編譯、ADT編譯、Android開發環境建立

來源:互聯網
上載者:User

Android是嵌入式Linux發展的一個裡程碑,近年來的嵌入式Linux應用之多,諸侯割據,也是時候有人來一統天下了,不說一統,也要給業界出個規範,出個信心,出個成功範本,Android就是嵌入式Linux的成功範例!

Android開放源碼,對於研究嵌入式領域的方方面面都太有協助了!驅動、作業系統、虛擬機器、構建系統、Java語言、C/C++語言、對開源軟體的整合等等,從Android中能學到太多太多!
本文從Android核心源碼的下載、編譯,以及ADT和SDK的編譯和使用,給予詳細介紹!

0. 介紹

ADT是Android針對eclipse的外掛程式,提供了基本的工具,包括SDK的擷取,配置等。所以開發Android應用ADT是必備工具!

SDK是軟體開發包,各個平台都會放出SDK來供開發人員使用!

Android源碼中不包括kernel源碼,需要另行下載編譯!

SDK和ADT可直接從Android源碼中編譯獲得!

repo是對git的封裝,方便擷取android源碼的,源碼用git維護的,所以用git擷取源碼也是一樣的

另:www.android.com網站上一切文檔都有,網路上的文檔也都是參照官方的!

 

一. 基本開發環境

Ubuntu-10.04即可,安裝個本地源鏡像,之後再安裝軟體包就速度飛快了!本文後續內容都假設系統為Ubuntu-10.04!

 

二. 安裝Android編譯需要的系統工具

官方參考頁:http://source.android.com/source/initializing.html

(1)安裝java環境

$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"$ sudo apt-get update$ sudo apt-get install sun-java6-jdk

注意:ubuntu12.04下

A. android需要的jdk6安裝
B. http://www.oracle.com/technetwork/java/javase/downloads下載jdk6
C. 下載jdk-6u37-linux-x64.bin
D. 放到合適的目錄,如/home/rda/work/soft/,./安裝到目前的目錄
E. 修改 ~/.bashrc增加環境變數

export JAVA_HOME=/usr/lib/jvm/java-7-sun //根據實際路徑修改

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

(2)安裝需要的軟體包

$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev libx11-dev libreadline5-dev libz-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc

三. 擷取源碼

官方參考頁:http://source.android.com/source/downloading.html

當前的Android 代碼託管在兩個地方: https://github.com/android 和 https://android.googlesource.com 之前在 android.git.kernel.org 上也有託管,不過現在重新導向到了 https://android.googlesource.com 好在都支援git訪問。

(0)sudo apt-get install git-core curl

(1)建立repo工具目錄,repo是對git源碼控制工具的封裝

$ mkdir ~/bin$ PATH=~/bin:$PATH

(2)擷取repo工具

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo$ chmod a+x ~/bin/repo

(3)初始化repo用戶端

$ mkdir WORKING_DIRECTORY$ cd WORKING_DIRECTORY
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

 

(4)擷取源碼
$ sudo sysctl -w net.ipv4.tcp_window_scaling=0

 

$ repo sync -j1
此時可能因為串連過多,有錯誤發生,不過沒關係,改用repo sync試試先.不行的話,用下邊的方法再試試.

(4.0)如遇到錯誤:DownloadError: android.googlesource.com: <urlopen error [Errno 110] Connection timed out>

說明是伺服器拒絕過多連結,可以申請下授權,比較簡 單:

參考網址:http://blog.csdn.net/thl789/article/details/7524232

1. 瀏覽器登入https://android.googlesource.com/new-password,並用gmail帳號登入;

2. 點擊網頁上的“允許訪問”,得到類似:

  1. machine android.googlesource.com login git-<userName>.gmail.com password <password>  
  2. machine android-review.googlesource.com login git-<userName>.gmail.com password <password>  

machine<br /> android.googlesource.com login git-<userName>.gmail.com password<br /><password><br />machine android-review.googlesource.com login<br />git-<userName>.gmail.com password <password>

的 信 息。

3. 把上面那段資訊(<userName>和<password>用自己得到的真實資訊)追加到~/.netrc檔案結尾;

4. 的URI更改為https://android.googlesource.com/a/platform /manifest(中間加上了“/a”)即可。

重複(3)步驟,用

repo init -u https://android.googlesource.com/a/platform/manifest -b android-4.0.1_r1
後,再repo sync即可.

四. 編譯Android系統

1. 編譯整個系統

官方參考連結:http://source.android.com/source/building.html

啟動ccache會加速編譯,不過也會產生問題,建議先不使用!

(1)啟用環境

$ source build/envsetup.sh

(2)配置目標

$ lunch full-eng

(3)編譯源碼

$ make -j4

編譯成功後,就可以運行模擬器看效果了,命令如下:

export ANDROID_PRODUCT_OUT=$PWD/out/target/product/generic

export ANDROID_SWT=$PWD/out/host/linux-x86/framework

export PATH=$PATH:$PWD/out/host/linux-x86/bin

emulator 即可看到效果了!

2. 編譯SDK

(1)啟用環境

$ source build/envsetup.sh

(2)配置目標

$ lunch sdk-eng

(3)編譯源碼

$ make sdk -j4

(4)編譯結果在out/host/linux-x86/sdk目錄就是sdk目錄,此目錄可備份下,以便後用

3. 編譯ADT

export ECLIPSE_HOME=<XXXXXX> eclipse的根目錄

sdk/eclipse/scripts/build_server.sh ./adt/

上邊傳說中的指令碼可用來編譯ADT,可我一直沒成功!此處會依賴於後邊的Eclipse,可在安裝了Eclipse後再編譯!

編譯前,注意備份SDK.

4. 編譯核心

官方參考連結:http://source.android.com/source/building-kernels.html

參考上面鏈即可,比較簡單!

五.建立Eclipse上的Android開發環境

官方參考連結:http://developer.android.com/sdk/installing.html

(1)擷取Eclipse

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/indigo/SR2/eclipse-rcp-indigo-SR2-linux-gtk.tar.gz&url=http://download.actuatechina.com/eclipse/technology/epp/downloads/release/indigo/SR2/eclipse-rcp-indigo-SR2-linux-gtk.tar.gz&mirror_id=385

解壓即可,直接能用了!建議下載rcp版本的!

(2)擷取ADT

前邊如果自己編譯出來了,則按照道理說是不用再下載或者線上安裝的,這裡說下下載方法!

http://dl.google.com/android/ADT-18.0.0.zip 這個是目前最新的,下載即可

(3)安裝ADT

Eclipse的Help裡有個Install New Software,選擇Achive,選擇ADT-18.0.0.zip即可安裝完成.

(4)安裝SDK

SDK前邊已經編譯出來了,目錄大約為out/host/linux-x86/sdk/,配置ADT的SDK目錄即可,其他不用配置!

(5)建立一個AVD

AVD是虛擬設備,建立即可!

 

至此,本文把大概的Android的系統編譯,SDK安裝,開發環境等介紹了一下!

 

本文完!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.