本文从官方文档总结出具体怎样在Ubuntu下用eclipse来开发android源码。
- Windows XP 下硬盘安装Ubuntu Desktop
- 将Ubuntu镜像文件中casper目录下的vmlinuz和initrd.lz解压到和iso文件所在的目录下,然后将iso和解压出的两个文件拷贝到任意盘的根目录下,如D:/
- 解压grub4dos-0.4.4.zip文件中的grldr文件到C盘根目录
- 向C:/boot.ini文件中添加一行如下内容:
C:/grldr="Install Ubuntu" - 在C盘根目录下新建menu.lst文件,文件内容如下所示:
title Install Ubuntu
find --set-root /ubuntu-9.10-desktop-amd64.iso
kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-9.10-desktop-amd64.iso locale=zh_CN.UTF-8
initrd /initrd.lz
注意:请将上面的斜体部分使用将要安装的光盘镜像文件名称替代;较老版本的Ubuntu解压出来的是initrd.gz文件,请将initrd.lz替换为initrd.gz。重启后进入正常安装。
- 建立基本的android开发环境
- 安装编译Android需要的开发包
Ubuntu Linux (64-bit x86)
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl sun-java5-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
Ubuntu Linux (32-bit x86)
$ 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
注意:Ubuntu 9.10以上版本需要添加额外的源才能安装Java5
deb http://cn.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse - 设置正确的Java版本,Android编译需要Java5
$ sudo update-java-alternatives -s java-1.5.0-sun
- 安装编译Android需要的开发包
- 编译android源码
$ cd $ANDROID_ROOT
$ . build/envsetup.sh
$ make - 配置Eclipse环境
- 修改eclipse缓存设置,把eclipse.ini的3个值改为下面的值:
-Xms128m
-Xmx512m
-XX:MaxPermSize=256m - 导入Android代码的Eclipse配置文件(development/ide/eclipse/)
代码风格:在window->preferences->java->Code style->Formatter中导入android-formatting.xml
导入顺序:在window->preferences->java->Code style->Organize Imports中导入android.importorder - 复制配置文件
$ cp development/ide/eclipse/.classpath ./
$ chmod u+w .classpath - 在Eclipse中建立Android工程
新建Java Project,选择从已存在的代码建立,工程名任意,Finish。如果出现错误请检查.classpath文件中是否有重复定义的模块。 - 修改工程Debug配置
在 Run->Debug Configurations->Remote java application上双击,然后,"Host:"设为 localhost,"Port:"设为8700,"Connection Type"为Standard(Socket Attach)
- 修改eclipse缓存设置,把eclipse.ini的3个值改为下面的值:
- 在Eclipse上调试android里的程序
$ cd $ANDROID_ROOT
$ . build/envsetup.sh
$ lunch 1
$ emulator &
$ ddms & - 重新编译Android模块
$ cd $ANDROID_ROOT
$ . build/envsetup.sh
$ make AlarmClock
或者
$ cd packages/app/AlarmClock
$ mm
可以修改$ADROID_ROOT/build/target/product/generic.mk文件添加模块