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行前右键加断点
然后操作模拟器打开计算器,按下拨号键,此时程序就会停在断点上