转载: http://home.androidin.com/space.php?uid=18291&do=blog&id=27
刚开始研究Android平台,目的是想在Openmoko的Neo FreeRunner上安装并运行Android系统。
首先发现从android.com的网站提供的源码链接始终访问不了,也就是source.android.com网站不可以访问,经过搜索发现git.anroid.com是可以访问的,配置好git和repo后发现始终访问不上去,后来终于在androidin站点的论坛中找到了 cupcake分支的源码,
首先下载Ubuntu 8.04安装文件,该文件是一个镜像文件,ubuntu-8.04.1-desktop-i386.iso,利用VMWare虚拟机可以直接安装。安装完成后,登陆到Ubuntu系统,切换到root用户(主:文档上都是按缺省用户进行操作的,但是root用户更方便些,不用打sudo):sudo -i,输入登陆口令。
配置代理服务器:export http_proxy=http://150.236.33.9:8080
更新软件包信息:apt-get update
运行:apt-get install python2.5
运行:apt-get install sun-java6-jdk sun-java6-bin sun-java6-jre
运行:export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.07
运行:apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev zlib1g-dev zip curl valgrind libncurses5-dev build-essential
运行:apt-get install x-dev
运行:apt-get install libx11-dev
安装git:apt-get install git-core gnupg
安装:curl http://www.meadowy.org/~gotoh/ssh/connect.c > connect.c 并编译gcc -o connect connect.c
编写git_proxy.sh:/full_path/connect -H http://150.236.33.9:8080 $@ 【注释:我的机器需要用sock代理,用-S参数】
运行:git config --global core.gitproxy "/full_path/git_proxy.sh for kernel.org"
建立android目录并进入该目录
下载repo并将其变为可执行程序:curl http://android.git.kernel.org/repo >~/bin/repo 并chmod 755 repo
运行:./repo init -u git://android.git.kernel.org/platform/manifest.git
当出现:repo initialized in /mydroid 时代表成功
下载代码:./repo sync
运行:export ANDROID_JAVA_HOME=$JAVA_HOME
运行:make
以上为Android的编译基本过程,编译好后,还可以编译kernel,基本编译方法为:
Building zImage
Go into kernel directory
$ cd ~/mydroid/kernel
$ make msm_defconfig ARCH=arm
$ make ARCH=arm
CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-
但是我没有试通。
编译好以后,就可以启动模拟器了,
运行:export http_proxy=http://150.236.33.9:8080
运行:export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.07
运行:export ANDROID_JAVA_HOME=$JAVA_HOME
进入/omp/android/cupcake/out/host/linux-x86/bin
运行:export ANDROID_PRODUCT_OUT=/omp/android/cupcake/out/target/product/generic
运行:./emulator