歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 10.10下搭建Android 2.2編譯環境

Ubuntu 10.10下搭建Android 2.2編譯環境

日期:2017/2/28 16:21:06   编辑:Linux教程

Ubuntu 10.10下搭建Android 2.2編譯環境:

1、替換一個比較快的Ubuntu 10.10更新源
deb http://mirrors.163.com/ubuntu/ maverick main universe restricted multiverse
deb-src http://mirrors.163.com/ubuntu/ maverick main universe restricted multiverse
deb http://mirrors.163.com/ubuntu/ maverick-security universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ maverick-security universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ maverick-updates universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ maverick-proposed universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ maverick-proposed universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ maverick-backports universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ maverick-backports universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ maverick-updates universe main multiverse restricted
#jdk1.5的源
deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
2、$ sudo apt-get update
3、$ sudo apt-get install sun-java5-jdk 安裝jdk1.5,然後檢查jdk版本是否已經更新到1.5,$ java -version. 如果不是以下信息:

java version "1.5.0_19"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_19-b02)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_19-b02, mixed mode)

則需要手動修改jdk的鏈接:
cd /usr/lib/jvm
ls -l java*
先檢查是否已經安裝了jdk1.5,如下信息:
lrwxrwxrwx 1 root root 23 2011-01-25 17:13 java-1.5.0-sun -> java-1.5.0-sun-1.5.0.19
lrwxrwxrwx 1 root root 14 2011-01-12 23:18 java-1.6.0-openjdk -> java-6-openjdk
.....................
.....................
如果有jdk1.5,則進行如下步驟:
cd /etc/alternatives
ls -l java*
lrwxrwxrwx 1 root root 40 2011-01-26 08:48 java -> /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
lrwxrwxrwx 1 root root 37 2011-01-25 17:13 javac -> /usr/lib/jvm/java-1.5.0-sun/bin/javac
lrwxrwxrwx 1 root root 47 2011-01-25 17:13 javac.1.gz -> /usr/lib/jvm/java-1.5.0-sun/man/man1/javac.1.gz
lrwxrwxrwx 1 root root 39 2011-01-13 17:57 javadoc -> /usr/lib/jvm/java-1.5.0-sun/bin/javadoc
lrwxrwxrwx 1 root root 49 2011-01-13 17:57 javadoc.1.gz -> /usr/lib/jvm/java-1.5.0-sun/man/man1/javadoc.1.gz
lrwxrwxrwx 1 root root 37 2011-01-13 17:57 javah -> /usr/lib/jvm/java-1.5.0-sun/bin/javah
lrwxrwxrwx 1 root root 47 2011-01-13 17:57 javah.1.gz -> /usr/lib/jvm/java-1.5.0-sun/man/man1/javah.1.gz
lrwxrwxrwx 1 root root 37 2011-01-13 17:57 javap -> /usr/lib/jvm/java-1.5.0-sun/bin/javap
lrwxrwxrwx 1 root root 47 2011-01-13 17:57 javap.1.gz -> /usr/lib/jvm/java-1.5.0-sun/man/man1/javap.1.gz
如果與以上ls的信息不符則做相應的修改。
4、安裝其他必備的組件
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev java-common unixodbc
這裡需要說明一下:由於10.10版本默認的gcc和g++版本是4.4,gcc4.4在編譯android2.2源碼時有可能會報一些錯誤,可能是因為新版本對代碼解析更加嚴格了吧。這時需要把gcc降到4.3,步驟如下:
sudo apt-get remove gcc-4.4(卸載gcc-4.4)
sudo apt-get remove g++-4.4(卸載g++-4.4)
sudo apt-get install gcc-4.3(安裝gcc-4.3)
sudo apt-get install g++-4.3(安裝g++-4.3)
cd /usr/bin
ln -s gcc-4.3 gcc
ln -s g++-4.3 g++
sudo apt-get install g++-multilib g++-4.3-multilib
cd /../myAndroidSrcDir/
make
2-3小時後
5、編譯、配置Android SDK
make編譯完成後,執行$sudo make sdk命令,生成對應於該版本源代碼的sdk,此過程用的時間偶的是10多分鐘。注意這個sdk不能用於生產環境。

用於生產環境的最好用如下命令: $sudo make PRODUCT-sdk-sdk命令,生成對應於該版本源代碼的用於生產環境的sdk,此過程用的時間偶的是1個多小時。

Android官方的SDK和偶自己編譯Android源碼時使用make sdk編譯出的SDK有區別,模擬器版本不同,加載的默認鏡像也不同(一個是官方的, 一個是自己編譯的)。下面將展示如何能夠自由切換SDK版本。

首先是自己編譯的SDK版本,實際位置是/root/mydroid/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86。

因為它比較常用,我們給它高優先級:

update-alternatives --install /usr/bin/AndroidSDK AndroidSDK /root/mydroid/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86 255

事先下載的官方SDK位置是/root/android-sdk-linux_86,執行:

update-alternatives --install /usr/bin/AndroidSDK AndroidSDK /root/android-sdk-linux_86 0
然後使用update-alternatives --display AndroidSDK查看當前配置情況:

如果要切換配置,使用update-alternatives --config AndroidSDK

配置AndroidSDK環境變量。終端中執行gedit ~/.bashrc
在文件最後添加下面三行:
# set android environment
export ANDROID_SDK_HOME=/usr/bin/ AndroidSDK
export PATH=$ANDROID_SDK_HOME/tools:$PATH
保存文件。在終端中執行source ~/.bashrc
6、在模擬器中運行編譯的鏡像
打開終端,執行android腳本:

$android
出現下圖所示窗口:

選擇左邊第一項Virtual Devices,然後在右邊選擇New,新建一個AVD。

Name:AVD的名稱,隨便取,但只能包含字母和數字以及點、下劃線和連字符, 這裡取名test。

Traget:目標SDK版本,這裡選自己編譯的2.1-r1版Android SDK。

SD Card:SD卡。暫且不填,待需要時再設置。()

Skin:皮膚(模擬器屏幕分辨率)。

Hardware:使用默認即可
然後點Create AVD,就創建好了一個AVD。點擊Start即 可啟動模擬器,其運行的是自己編譯的鏡像。

若以後要再次啟動此AVD,請在終端中運行:

emulator –avd test 或 者emulator @test
7、添加SD卡的方法
mksdcard -l mycard 100M F:\mysdcard.img 1.mksdcard命令在F盤下新建一個虛擬磁盤給模擬器用,文件名mysdcard後綴可以 自定義如mycard.tank。 2. 默認單位為k 這裡我寫的100M

Copyright © Linux教程網 All Rights Reserved