2010年6月6日 星期日

Android (or Android-x86) 開發環境的設置及工具安裝

<<設定Build code 及環境的文章多不可數,但還是仍然放置在這邊,供自己查詢使用。 >>

開發環境的設置及工具安裝:

  • 系 統設定 -- Using Ubuntu 10.04 or 9.10
-- 安裝 JDK5
# 開啟 APT 設定檔
$sudo gedit /etc/apt/sources.list

# 加入 server For sun-java5-jdk
deb http://ir.archive.ubuntu.com/ubuntu jaunty-updates main multiverse

# 更新及安裝 JDK5
$sudo aptitude update
$sudo aptitude install sun-java5-jdk

-- 安裝 相關工具
$sudo apt-get install gcc g++
$sudo apt-get install flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind libreadline5-dev

-- 安裝 GIT
$sudo apt-get install git-core

-- 額外的部份: X11/Xatom.h & X11/Xlib.h (非必要):
# provides Xatom.h
$sudo apt-get install x11proto-core-dev 
# provides Xlib.h
$sudo apt-get install libx11-dev        
  • 建立 bin 目錄
$mkdir ~/bin

  • 創 建 repo
$curl http://android.git.kernel.org/repo > ~/bin/repo

        # 變更 repo 為可執行檔
$chmod a+w ~/bin/repo

  • 把 repo 的路徑加至 $PATH
# 編輯 ~/ 底下的 .bashrc 檔案,加上底下這行
export PATH=$HOME/bin:$PATH

  • 建 立workspace
# 新建目錄放置 Android Source Code. 底下使用 來代表自訂的名稱。
$mkdir ~/
$cd ~/
  • 從 官方 server 的 GIT source tree 下載 Source Code
# 初始化要下載的文件清單
$repo init -u git://android.git.kernel.org/platform/manifest.git

# 同步資料庫(下載 Source Code)
$repo sync
  • 在 有 HTTP Proxy 設定的情況下,我們需要透過 SSH , 把 git port 轉至 http port,所以需要透過 connect.c 程式,相關的設定如下:

下載 connect.c, http://www.meadowy.org/~gotoh/ssh/connect.c


請個別使用相關的設定值。
請個別使用相關的設定值。 可使用 cd ~; pwd 查詢。


編 譯 connect 執行檔,並且放置在 ~/bin/ 目錄下。
$gcc connect.c -o connect
$cp connect ~/bin/.
$chmod a+x ~/bin/connect

新增 proxy-cmd.sh, socks-gw.sh, sock-gw.sh 於 ~/bin/ 。
$cd ~/bin
$touch proxy-cmd.sh
$chmod a+x proxy-cmd.sh
$touch socks-gw.sh
$chmod a+x socks-gw.sh
$touch socks-ssh.sh
$chmod a+x socks-gw.sh

編輯 ~/bin/proxy-cmd.sh 內容:
(echo "CONNECT $1:$2 HTTP/1.0"; echo; cat ) | socket | (read a; read a; cat )

編輯 ~/bin/socks-gw.sh 內容:#!/bin/sh
# ~/bin/socks-gw.sh
# This script connects to a HTTP proxy using connect.c
connect -H : $@

編輯 ~/bin/socks-ssh.sh 內容:#!/bin/sh
# ~/bin/socks-ssh.sh
ssh -o ProxyCommand="/bin/socks-gw.sh %h %p" $@

新增 proxy.sh 於 ~/ 。
$cd ~
$touch proxy.sh
$chmod a+x proxy.sh

編輯 proxy.sh 內容:
#!/bin/sh
# ~/proxy.sh

# http proxy setting
export HTTP_PROXY=http://:
export http_proxy=$HTTP_PROXY

# set git to use ssh over http proxy
export GIT_SSH="/bin/socks-ssh.sh"
export GIT_PROXY_COMMAND="/bin/socks-gw.sh"

在 執行 repo sync 前,請先在workspace folder 中執行:
$source ~/proxy.sh

參考網頁:http://mmmyddd.freeshell.net/wiki/android/build.html#sec4

沒有留言: