ANDROID 源码编译 流程

  • 格式:pdf
  • 大小:596.08 KB
  • 文档页数:4

Android源码编译调试流程
bymengke

1编译流程
sudoapt-getinstallbuild-essential
sudoapt-getinstallmake
sudoapt-getinstallgcc
sudoapt-getinstallg++
sudoapt-getinstalllibc6-dev

sudoapt-getinstallpatch
sudoapt-getinstalltexinfo
sudoapt-getinstalllibncurses-dev

sudoapt-getinstallgit-coregnupg
sudoapt-getinstallflexbisongperflibsdl-devlibesd0-devlibwxgtk2.6-devbuild-essential
zipcurl
sudoapt-getinstallncurses-dev
sudoapt-getinstallzlib1g-dev
sudoapt-getinstallvalgrind
sudoapt-getinstallpython2.5

安装java环境
sudoapt-getinstallsun-java6-jresun-java6-pluginsun-java6-fontssun-java6-jdk
sudoapt-getinstallsun-java5-jdk(ubuntu910估计会有一些问题)

(注:官方文档说如果用sun-java6-jdk可出问题,得要用sun-java5-jdk。经测试发现,如
果仅仅make(make不包括makesdk),用sun-java6-jdk是没有问题的。而makesdk,
就会有问题,严格来说是在makedoc出问题,它需要的javadoc版本为1.5。
因此,我们安装完sun-java6-jdk后最好再安装sun-java5-jdk,或者只安装sun-java5-
jdk。这里sun-java6-jdk和sun-java5-jdk都安装,并只修改javadoc.1.gz和javadoc。因
为只有这两个是makesdk用到的。这样的话,除了javadoc工具是用1.5版本,其它均用
1.6版本:
sudoapt-getinstallsun-java5-jdk

cd/etc/alternatives
sudormjavadoc.1.gz
sudoln-s/usr/lib/jvm/java-1.5.0-sun/man/man1/javadoc.1.gzjavadoc.1.gz
sudormjavadoc
sudoln-s/usr/lib/jvm/java-1.5.0-sun/bin/javadocjavadoc

假设源代码的目录为
mydroid
root@mk-desktop:~/mydroid#ls
Makefilebuilddevelopmentframeworksoutsdk
bionicctsdevicehardwarepackagessystem
bootabledalvikexternalndkprebuiltvendor
2make整个环境
执行make命令(最好系统不要运行别的程序,这个很耗费资源和时间,我的机器用了
4个小时)

3makesdk

执行
makesdk
mmm指令:编译整个andoid源码
root@mk-desktop:~/mydroid#mmm

mm指令:编译部分andoid源码
root@mk-desktop:~/mydroid/packages/apps/AlarmClock#mm

4eclipse视图介绍

打开eclipse后我们需要用到的是第二三四个
第二个像个小机器人,就是ddms视图
第三个右上有个J,这个是最常用的编辑试图
第四个像个小强,这个是调试的时候需要使用的调试试图

调试
5在模拟器上运行编译好Android
编译好Android之后,emulator在~/mydroid/out/host/linux-x86/bin下,
ramdisk.imgsystem.imguserdata.img则在~/mydroid/out/target/product/generic下

cd~/mydroid/out/host/linux-x86/bin
增加环境变量
vim~/.bashrc

在.bashrc中新增环境变量,如下
#java程序开发/运行的一些环境变量export
Android_PRODUCT_OUT=~/mydroid/out/target/product/generic

Android_PRODUCT_OUT_BIN=~/mydroid/out/host/linux-x86/bin
exportPATH=${PATH}:${ANDROID_PRODUCT_OUT_BIN}
最后,同步这些变化:
source~/.bashrc

启动emulator
root@mk-desktop:~/mydroid/out/target/product/generic#emulator-imagesystem.img-
datauserdata.img-ramdiskramdisk.img

启动
eclipse
在eclipse的ddms视图中选择好进程,
在eclipse的编辑试图Run->DebugConfigurations->Remotejavaapplication上双击,
然后,”Host:”设为localhost,”Port:”设为8700,”ConnectionType”为
Standard(SocketAttach)

然后
“Apply”

6单步调试例子:

/mydroid_test/packages/apps/Calculator/src/com/android/calculator2/Calculator.java
第155行前右键加断点
然后操作模拟器打开计算器,按下拨号键,此时程序就会停在断点上