You may delay, but time will not.

10月 26, 2009

To build the environment for developing Android for freerunner

最近開始自已想摸Android的OS,所以試著自已Build一個環境讓自已能看看Android這個os的Source code。因此找了一些資料,中間遇到了些問題,紀錄一下。







我自已的方式是用vm跑ubunto。它build的時候需要很大的硬碟空間,真的很大,我就因為Build到一半空間用不夠,只好重來。所以大家最好割到15g以上比較好。雖然網頁是建議10g就可以,不過你還要放其它的工具和一些有的沒的。我自已是割16g,灌完Ubunto剩11g…其它就一堆有的沒的佔走了。
接下來簡單紀錄一下步驟,
先把基本的tool先裝一裝,用下頭的指令
sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
接著是建立repo。用來sync目前android的source code.
先建立放建立repo的script的目錄

mkdir ~/bin

先確認你建的這個sbin是有包括在path,如此才能執行在它目錄下的執行檔。可以先用

echo $PATH

確認路徑是否有在其中,路徑沒在裡頭的話可以下

PATH=$PATH:~/bin/

將路徑加進去
接著就是用curl將repo的script抓下它,用它可以把你所需要的repo建立起來

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

我在上面這步的時候卡了一下彈,後來發現是ubunto的dns沒設。可以用下頭的指令

sudo vim /etc/resolv.conf

把dns加進去,接著把dns重run,如以下,

sudo /etc/init.d/networking restart

再來把抓下來的repo變執行檔

chmod a+x ~/bin/repo

接著建立一個目錄用來sync android的source code,並先進到裡頭
mkdir ~/mydroid
cd ~/mydroid
然後先init一下repo的目錄

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

如果是要下載android for freerunner的話,可以降子下

repo init -u git://git.koolu.org/freerunner/platform/manifest.git -b koolu-1.0

上面的指令下完會跑一陣子,最後initial成功的話最後會有類似下面的訊息

repo initialized in /mydroid

接著用下頭的指令做sync

repo sync

上面這個指令需要下載一陣子,就耐心的等吧,中間如果有斷掉,就一樣的指令重新下就可以了。這個syn大概花了一個小時左右。
接著進到目錄中下make就可以build出一整個android OS囉。
如果用for freerunner的branch的話,要build得用下頭這個指令,
make TARGET_PRODUCT=freerunner
我在vm上跑,core2duo 1.8GHz + 2G RAM 放了一個晚上(不很確定啦,睡覺前run,起床就好了)才把一整個android for freerunner的os build出來。

沒有留言: