一、安装必要的工具
apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev build-essential zip curl libncurses5-dev zlib1g-dev
二、下载java jdk
1、在/etc/apt/sources.list上加上如下几行源地址(ubuntu10.04没有提供jdk的源):
deb lucid partner
deb hardy main multiverse
deb hardy-updates main multiverse
2、然后执行apt-get update
3、然后即可通过apt-get install sun-java5-jdk/sun-java6-jdk安装
4、设置环境变量
gedit ~/.bashrc
加入
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
JRE_HOME=${JAVA_HOME}/jre
export ANDROID_JAVA_HOME=${JAVA_HOME}
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export JAVA_HOME;
export JRE_HOME;
export CLASSPATH;
HOME_BIN=~/bin/
export PATH=${PATH}:${JAVA_PATH}:${JRE_PATH}:${HOME_BIN};
5、source ~/.bashrc
三、安装编译工具
在linux环境下开发android时必须安装编译工具,例如git和repo。其中repo的作用是更新android源码,是对调用git的封装工具。安装repo的流程如下。
cd ~
makedir bin
curl >~/bin/repo
chmod a+x ~/bin/repo
四、android源码获取和内核源码
在上详细介绍了获取android源码和获取内核源码的的方法,这里不再罗嗦。
1、对android源码进行编译
执行make
(如果要增加其他功能,可以修改build/target/product/路径下相应的.mk文件。比如要增加中文输入法,要修改该目录下的 generic.mk,在PRODUCT_PACKAGES中加入PinyinIME,然后保存并退出。)
编译完成后会在out/target/product/generic/目录下生成一些.img镜像文件,比如system.img,userdata.img,ramdisk.img等。
2、编译sdk
执行make PRODUCT-sdk-sdk或make sdk
编译完成后会在out/host/linux-x86/sdk/目录下生成android-sdk_eng.xxx_linux-x86.zip和android-sdk_eng.xxx_linux-x86两个目录ndroid-sdk_eng.xxx_linux-x86目录包含了一些很重要的tools工具,所以建议把生成的sdk备份一些,否则在编译单独模块的时候会被清除了。
3、编译adt
编译adt需要eclipse的支持,可以直接从网上下载eclipse和adt,eclipse建议下载scp版本的,
解压后在profile中指定eclipse-RCP-xx-linux-gtk路径,然后编译adt。
或者直接编译adt,系统会自动下载eclipse,前提是必须有网络(我用的是这种方法)。
编译sdk
sdk/eclipse/scripts/build_server.sh /home/xxx/adt(指定生成adt的路径)
4、编译内核
内核源码下载完后,在目录下看不到具体的目录,这时需要在目录下输入git branch -a 查看分支,然后选择自己想要的一个分支,然后输入git checkout xxxx(分支的完整目录)选择需要的分支。
内核的配置config采用/arch/arm/configs/xxx目录下的配置。
五、运行android系统
在生成的sdk的子目录tools下执行如下命令
./mksdcard 512M sdcard.img //创建一个512M的sd卡
./android create avd --target 1 --name eyarin --sdcard sdcard.img//创建一个avd,并指定target为1,名字为eyarin,并且建在第一步创建的sd卡上。当提示是否需要自定义avd时,选择no。
./android list avd / /显示我们创建的avd
./emulator -avd eyarin //运行模拟器,这里只能建议sdk是否正确
模拟器关了,验证img是否正确
./emulator -avd eyarin -kernel xxx/zImage
./emulator -avd eyarin -system xxx/system.img
./emulator -avd eyarin -data xxx/userdata.img
./emulator -avd eyarin -ramdisk xxx/ramdisk.img
阅读(1076) | 评论(0) | 转发(0) |