編譯Android 2.3.1 原始碼心得

來源:互聯網
上載者:User

經過了痛苦的掙紮,終於編譯Android 2.3.1 原始碼通過了!!!這裡介紹一下過程:



1.

在編譯之前,先安裝好以下的庫:

sudo apt-get install bison

sudo apt-get install zlib1g-dev

sudo apt-get install lib64z1-dev

sudo apt-get install flex

sudo apt-get install libncurses5-dev

sudo apt-get install libx11-dev

sudo apt-get install gperf 

以上可能不全,具體等編譯的時候缺哪個庫再去下就行了~~



2.

安裝Java 6 JDK:

sudo apt-get install sun-java6-jdk


3.

下載Android 2.3.1 的原始碼並解壓;

這部分要用git下載,比較複雜,再加上http://www.kernel.org/最近被駭客入侵,伺服器down掉了,所以沒有辦法下載原始碼了,我是用的就是老師給我的SDK原始碼。(關於如何git下載原始碼我會在之後再寫一篇博文,這裡先佔個地方)。



4.  

make clean(在編譯之前先make
clean會很方便的!)

如果原先有out檔案夾,那麼  make clean 後就沒了



5.make

這是一個非常非常非常漫長的過程(我Intel 雙核兩個多小時),等吧~~~~



6.

如果成功,會產生一個out檔案夾,裡面有三個檔案夾:host,target和temp。看名字就知道他們的作用了,host是在PC上啟動並執行(如SDK,emulator等),target是在目標板上啟動並執行。target裡有
system.img 、userdata.img、ramdisk.img三個檔案。另外在這個目錄下還有一些檔案夾,有一些是和這三個檔案一樣的,只不過是沒有打包的。關於這三個檔案的詳細解釋可以參考下面這個網址:http://pccp.me/archives/39.html 講的很詳細的(這個我也摘錄下來了,可以看http://blog.csdn.net/htttw/article/details/6783604)。


最後:

附一段make編譯成功的輸出:

Target system fs image: out/target/product/sdkDemo/obj/PACKAGING/systemimage_intermediates/system.img
Install system fs image: out/target/product/sdkDemo/system.img
Target ram disk: out/target/product/sdkDemo/ramdisk.img
Target userdata fs image: out/target/product/sdkDemo/userdata.img
Installed file list: out/target/product/sdkDemo/installed-files.txt





下面來啟動我們自己編譯好的Android SDK:

(我們以前都是從http://developer.android.com/sdk/index.html上下載已經編譯好的SDK的,這回要啟動我們自己的SDK啦!)

1. 

cd out/host/linux-x86/bin/

2. 

 ./android


提示沒有設定ANDROID_SWT,添加如下環境變數:

export ANDROID_SWT=/home/hutao/Android_project/gingerbread/out/host/linux-x86/framework/注意:這是你自己的framework路徑!


再次 ./android,錯誤:

Error: Error parsing the sdk.
Error: /home/hutao/Android_project/gingerbread/out/host/linux-x86/platforms is missing.
Error: Unable to parse SDK content.


其實解決方案很簡單,只要在相應路徑下建立一個platforms檔案夾即可;

再次 ./android,錯誤:

Error: Error parsing the sdk.
Error: /home/hutao/Android_project/gingerbread/out/host/linux-x86/platforms is missing.
Error: Unable to parse SDK content.


解決方案同上;


最後終於啟動Android SDK啦!


(下面的使用步驟和使用官方下載的SDK一樣)

3.

下載Android
SDK target:

在SDK中選擇available packages,選擇相應的Android SDK Platform以及API,點擊Refresh,後面就開始下載了~~



4.

為Android SDK建立一個avd(android virtual
disk):

在virtual devices裡點“New”,填上Name和target,之後點Create AVD,這樣就建好了一個avd



5.

在主介面中點start就啟動emulator了,一開始是ANDROID的字樣一閃一閃的,等比較長的時間後就可以看到Android介面了~~

完成!


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.