一點小經驗。
下載安裝Ubuntu13.04後,啟動終端。
1.Git
Android源代碼是采用git管理的,所以,先安裝個git:
sudo apt-get install git-core gnupg
2.其他的一些依賴包
由於後面需要用到解壓的操作,不妨先下好這些依賴包。其中libsdl-dev可能會提供更新,我看見的版本是1.2.另外就是libwxgtk2.8-dev這個也會提供更新,總之,就是要是有提示更新的就寫上最新的版本好即可。
sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.8-dev build-essential zip curl
3.Java SDK
之前在網上看了不少直接在終端裡利用命令配置的描述,但是我沒試驗成功。兩方面吧,大都還是寫著sun-java6-jre等等,可是sun公司已經被Oracle收購了,如果直接更新的花,大概是oracl-java7-jre這個樣子,因為oracle好像在主線上只提供java7的樣子(沒有詳細的做),但是android開發還是利用的java6來編寫的,所以,我們可以到oracl官網上查找舊的java jdk。有可能需要注冊一下oracle的用戶,然後同意一些協議後,就可以選擇下載了,這裡分了兩種包,一種是32位的jdk-6u**-linux-i586.bin,一種是64位的jdk-6u**-linux-x64.bin注意看好自己的系統版本,選擇合適的包下載。
下載好以後,一般會在主文件夾的下載裡,剪切出來,在主文件裡新建一個文件夾叫JDK(隨意)什麼的,粘帖進去即可。
在終端開始操作
cd /home/user/JDK 其中user是你的用戶名,JDK就是新建的文件夾名稱。
chmod u+x jdk-6u**-linux-i586 更改權限,後面的jdk是你下載的jdk包的名字。或者這麼寫 chmod 701 jdk-6u**-linux-i586
sudo ./jdk-6u**-linux-i586.bin 解壓縮,會提示yes或者no,寫yes就可,或者看到more這個詞就一直回車,其實就是讓你看協議。
解壓完之後,會在JDK文件夾裡看到一個類似jdk1.6.0_45這個名字的文件夾。
現在需要配置一下java的環境變量。
sudo gedit /etc/profile
在proifle文件後添加如下代碼:
#set java environment
JAVA_HOME=/home/user/JDK/jdk1.6.0_14
export JRE_HOME=/home/user/JDK/jdk1.6.0_14/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
其中user還是你的用戶名,jdk1.6.0_14就是剛剛解壓的出來的jdk文件夾。
添加完成後,保存,重啟一下系統,在終端輸入 java -version 應該就可以看到java的版本信息了。
4.下載Android源代碼
goolge提供了一個repo工具,實際上是個腳本文件,裡面封裝了下載Android源代碼所需要的git命令。先下載repo
wget https://dl-ssl.google.com/dl/googlesource/git-repo/repo
chmod a+x repo
sudo mv repo /bin/
安裝好repo後,新建個空文件夾,在裡面執行repo命令就可言下載android源代碼了。
mkdir Android
cd Android
repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.1_r1
這裡最後一行的-b android-2.3.1_r1是想要下載的android源代碼的版本號,可以不寫,那樣就直接下載主線上最新的源代碼,但是最新的是開發版,總會有些小問題,所不妨下比較成熟的版本,上面給出的是2.3.1,改成android-4.0.1_r1就是4.0.1版本的了。具體需要什麼可以查詢後再下。
之後執行
repo sync
就開始同步android源代碼啦。
有時可能看到卡死的現象,就是數據也不更新,整個都是靜態不動的,可以按ctrl+z來暫停,然後在輸入一邊repo sync就可言繼續同步了。直到顯示done這個關鍵字就表示下載完成了。
5.Android源代碼的編譯
64位機下可以直接在文件下編譯。
~/Android$ make
32位機下就需要該一些相關的文件了。
(1)打開build/core/main.mk文件,找到如下的內容:
ifeq ($(BUILD_OS),linux)
build_arch := $(shell uname -m)
#Change the following line for building on a 32-bit system.
#ifneq (64,$(findstring 64,$(build_arch)))
$(warning ************************************************************)
$(warning You are attempting to build on a 32-bit system.)
$(warning Only 64-bit build environments are supported beyond froyo/2.2.)
將第三行改為
ifneq (i686,$(findstring i686,$(build_arch)))
(2)找到下列文件:
/external/clearsilver/cgi/Android.mk
/external/clearsilver/cs/Android.mk
/external/clearsilver/java-jni/Android.mk
/external/clearsilver/util/Android.mk
修改LOCAL_CFLAGS和LOCAL_LDFLAGS變量:
# This forces a 64-bit build for Java6
# Change the following two lines for building on a 32-bit system.
# LOCAL_CFLAGS += -m64
# LOCAL_LDFLAGS += -m64
將後兩行修改為
LOCAL_CFLAGS += -m32
LOCAL_LDFLAGS += -m32
之後make即可。
有可能會出現各種各樣的錯誤,這時候就需要baidu&google出來幫忙了。
最後編譯晚餐後,可以將其打包成sdk:
~/Android$ make sdk
打包後,就可以在IDE環境中開發Android應用程序了。
以上就是我的一點小經驗。
更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11