Fedora 8 linux下編譯android 1.5 SDK

昏天暗地的花了兩天時間, 終於在Fedora 8 上成功編譯了android 1.5, 和你們分享一下編譯的經驗:)java

一 準備編譯環境

Fedora 8 已經包含了編譯android 時所需的大部分開發包, 咱們還須要安裝gitgperf.python

開始終端, 敲入下面的命令:linux

$ yum install git-coreandroid

$ yum install gperfgit

Fedora 8 自帶的java 開發包是JDK6, 而編譯nadroid 時須要JDK5, 不然在make sdk 時會出現錯誤.windows

能夠從sun 網站下載 jdk-1_5_0_18-linux-i586-rpm.bin , 我下載到了opt 目錄下.bash

在終端上敲入以下命令:eclipse

$ cd /optcurl

$ chmod a+x jdk-1_5_0_18-linux-i586-rpm.binflex

$ ./jdk-1_5_0_18-linux-i586-rpm.bin

文件會在/opt 下自動生成jdk1.5.0_18 子目錄, 並解壓.

而後須要設置JAVA 主目錄, 編輯/etc/bashrc 文件:

$ vi /etc/bashrc

點擊inserti, 進入insert 模式, 在文件末尾添加,

export JAVA_HOME=/opt/jdk.1.5.0_18

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

點擊esc, 進入命令模式, 輸入":wq", 而後敲入reboot 從新啓動.

啓動後, 開啓終端, 輸入"java -version", 若是提示當前版本爲1.5.0_18, 則安裝成功.

二 下載源代碼

先要下載repo, 若是以root 用戶登錄, 則能夠將repo 下載/root/bin 目錄下( 也能夠下載/home/bin 目錄下, 但要將目

錄加入到PATH):

$ curl http://android.git.kernel.org/repo > /root/bin/repo

$ chmod a+x /root/bin/repo

而後在home 下創建mydroid 文件夾, 固然能夠在其餘你喜歡的目錄下創建:

$ cd /home

$ mkdir mydroid

$ cd mydroid

輸入如下命令:

$ repo init -u git://android.git.kernel.org/platform/manifest.git

不出意外的話, 完成後應該顯示"repo initialized in /mydroid".

最後輸入"repo sync" 開始下載源代碼.

工程很大, 只是下載代碼的話須要留出2G 以上的空間, 若是還要編譯那就須要留出6G 以上的空間.

三 編譯

下載完成後進入源代碼目錄, 開始編譯, 以下:

$ cd /home/mydroid

$ make

完成後會生成system.img 等文件.

因爲android1.5 版本SDK 的目錄結構有所變化, 因此ADT0.8.0 不能再使用了, 咱們須要本身編譯ADT:

$ ./development/tools/eclipse/scripts/build_server.sh /home

"/home" 是編譯好 ADT 後的輸出目錄 , 能夠指定其餘你喜歡的目錄,在這個過程當中可能會自動下載

eclipse, 貌似是因爲沒有設定 ECLIPSE_HOME 環境變量的緣由 , 不過沒有細究 :). 最後須要生成linux

下的SDK, 以下:

$ make sdk

成功後, 會在./out/host/linux-x86 下生成sdk 文件夾, 其中包含了咱們須要的SDK.

注意將SDK 目錄加入到PATH, 修改/etc/bashrc, 加入

export PATH=/home/mydroid/out/host/linux-x86sdk/android-sdk_eng.root_linux-x86/tools:$PATH

linux 上運行

須要卸載eclipse 上原來的ADT0.8.0( 如何卸載就不說了, 不過要注意卸載乾淨,ADT Editor 也一併卸載).

啓動android1.5emulator 時須要avd 文件, 先輸入"android list targets" 取得target ID, 例如爲1, 而後,

$ android create avd -n my_avd -t 1

建立avd 文件後, 便可啓動emulator,

$ emulator -avd my_avd

啓動很慢, 要耐心等待.

五 生成windowSDK

須要將mydroid 目錄和編譯的ADT, 複製到windows, 我是在window xp 下使用 explore2fs 讀取linux 分區進行的

複製.而後安裝cygwin, 注意默認的文本類型要設置爲DOS/text, 這些開發包autoconf, bison, curl, flex, gcc,

g++,git,gnupg, make, mingw-zlib, python, zip, unzip 都要選上, 不要選擇readline.

打開development/build/tools/make_windows_sdk.sh 文件,

找到"SDK_NUMBER=`echo $filename | sed -n 's/^.*_/([^_./]/+/)_[^_.]*/..*$//1/p'`", 修改成

#SDK_NUMBER=`echo $filename | sed -n 's/^.*_/([^_./]/+/)_[^_.]*/..*$//1/p'`

SDK_NUMBER=1.5

而後在cygwin 中輸入如下命令:

$ cd mydroid
$ mkdir -p out/host/windows-x86/sdk
$ development/ build / tools / make_windows_sdk.sh out / host / linux - x86 / sdk / android-sdk_eng.root_linux-x86.zip out / host / windows - x86 / sdk

一樣在eclipse 中安裝咱們編譯的ADT, 指定sdk 目錄. 啓動emulator 以前還要生成avd 文件.

相關文章
相關標籤/搜索