作業系統:Ubuntu13.10(64 bit)
JDK:1.6.0_45(jdk版本最好用1.6)
一.首先安裝git
a.sudo apt-get install git二.Install curl
a.sudo apt-get install curl三.安裝repo
a.mkdir ~/binb.PATH=~/bin:$PATH
c.curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo"> ~/bin/repo
(curl網址或許會壞掉)
d.chmod a+x ~/bin/repo
四.Get the Android source code
a.mkdir -p ~/tdroid/[想裝的版本]// 版本可到https://android.googlesource.com/platform/manifest左邊branches
// 尋找
b.cd ~/tdroid/[想裝的版本]
c.repo init -u https://android.googlesource.com/platform/manifest -b [想裝的版本]
d.為了之後repo sync能順利,需要做幾件事情
1.vim /etc/hosts,在文件中加入以下網址
74.125.71.82 www.googlesource.com
74.125.71.82 android.googlesource.com
203.208.46.172 cache.pack.google.com
59.24.3.173cache.pack.google.com
2.進到存放android原始碼的資料夾,裡面有一個隱藏目錄.repo修改一些東西
1.cd ~/tdroid/[想裝的版本]/.repo
2.打開manifest.xml,把fetch=".."改為fetch="git://Android.git.linaro.org/"
3.存檔
f.repo sync
// sync要很長一段時間,大概五個小時,且如果中途網路斷線便會停止,
// 要重新執行repo sync才會繼續,所以建議大家用腳本執行,腳本創建如下
1.gedit
2.加入以下內容
#!/bin/bash
echo "======start repo sync======"
repo sync
while [ $? = 1 ]; do
echo “======sync failed, re-sync again======”
sleep 3
repo sync
done
3.將這個文件存到android原始碼目錄下,副檔名為sh
4.sh 檔名.sh 啟動腳本
g.執行. ./build/envsetup.sh
h.lunch 1
i.make -j4
//我一開始是在32bit ubuntu上安裝,結果遇到很多問題,所以改用64bit ubuntu
//如果是在32bit上面遇到困難的朋友可以參考以下網址
//http://www.eoeandroid.com/home.php?mod=space&uid=23065&do=blog&id=2778
//因為時間關係所以我直接改用64bit,沒有嘗試,有時間得朋友可以嘗試修正看看
//在make過程中會遇到很多error,基本上都是缺東西看錯哪邊
//就安裝哪個工具
//以下記錄我所安裝的package及error修正過程
1.sudo apt-get install bison flex gperf lib32z1 ia32-libs
其中ia32-libs在Ubuntu 13.10中直接安裝的話,可能會出現錯誤
解決方法:
1.sudo add-apt-repository "deb http://archive.ubuntu.com/
ubuntu/ raring main restricted universe multiverse"
2.sudo apt-get update
3.sudo apt-get install ia32-libs
基本上大部份的問題google都可以找的到,如果上述沒有你的問題
可以嘗試google看看
2.jdk必須要安裝oracle官方版本,若make時出現
/bin/bash: jar: command not found,表示jar沒有安裝好
解決方法:
1.cd /usr/bin
2.sudo ln -s -f /usr/lib/jdk1.6.0_20/bin/jar
j.emulator
//啟動模擬器,如果編譯完成輸入上面指令會啟動模擬器
//啟動模擬器時,我碰到一個error如下
//Failed to load libGL.so error libGL.so: cannot open shared object file...
解決方法:
1.sudo apt-get install libgl1-mesa-dev
//這個問題發生原因可能有多種,如果安裝上面的package沒用的話
//可以自行google找其他的解法
[待續...]