2010年3月24日 星期三

[ Android ] 基礎知識及工具使用

0.Android基礎
http://zh.wikipedia.org/wiki/Android

由技術面來看,Android以linux kernel作為OS,但卻需要加上google對kernel所作的修改才能運作.

相關的文章

Android,开源还是封闭?

关于 Linux “踢出” Android

1.Android Source Code

取得repo (請參考google文件)

取得Android source code
    mkdir mydroid
    cd mydroid
    repo init -u git://android.git.kernel.org/platform/manifest.git
    repo sync

切換到分支 eclair

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

取得Android linux kernel source

git clone git://android.git.kernel.org/kernel/common.git

取得分支android-goldfish-2.6.27
cd common
git checkout origin/android-goldfish-2.6.27 -b goldfish

列出本地所有分支
git branch

附錄

http://embeddeder.spaces.live.com/blog/

2.Ubuntu 9.10 Setup

sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libncurses5-dev
sudo apt-get install libx11-dev


不要用JDK-1.6,編譯Android會有問題
但JDK-1.5較早期的版本無法安裝,因為libstdc++版本的關係
http://ubuntuforums.org/showthread.php?t=1289730

安裝 jdk-1_5_0_21-linux-i586.bin http://java.sun.com/javase/downloads/5u21/jdk

sudo mv jdk1.5.0_21 /usr/local
sudo ln -s /usr/local/jdk1.5.0_21 /usr/local/jdk

編輯${HOME}/.profile

export JAVA_HOME=/usr/local/jdk1.5.0_21
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

第二種方式,安裝ubuntu 9.04的java5
http://blog.enea.com/Blog/bid/32050/Ubuntu-9-10-Java-5-and-the-Android-Open-Source-Project

sudo gedit /etc/apt/sources.list

deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

sudo apt-get update

sudo apt-get install sun-java5-jdk

sudo update-alternatives --config java

編輯${HOME}/.profile

export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

安裝gcc-4.3 & g++4.3

sudo apt-get install gcc-4.3
sudo apt-get install g+-4.3

sudo cd /usr/bin
sudo rm -rf gcc
sudo ln -s gcc-4.3 gcc
sudo rm -rf g++
sudo ln -s g++-4.3 g++

安裝 zlib dev

sudo apt-get install zlib1g-dev

修改Android

編輯${ANDROID}/build/tools/findleaves.sh:89

find "${@:0:$nargs}" $findargs -type f -name "$filename" -print |

改成

find "${@:1:$nargs-1}" $findargs -type f -name "$filename" -print |


沒有留言:

張貼留言