2012年11月28日星期三
一直想用调试的方式来弄清楚android内部运行的流程,我们都知道android的开发是包括java层和native层的,肯定也会涉及java代码和c/c++代码的调试。今天花了点时间对这两个方面做了下尝试。
1.环境
为了省事,今天下载了google官方提供的最新的开发工具(ADT bundle for mac),直接集成好了jdt/cdt/adt。
NDK也是直接下载的最新的:
平台用的是昨天编译的2.3.5
1.step by step
为了方便,直接使用ndk自带的工程
a).导入hellojni
b).进入hellojni目录编译native代码
(具体参见NDK中的doc)
c).在eclilpse中设置ndk
d).编译并安装apk
e).设置debug configuration
-------------native-----------------
选中当前的project
添加当前source path
debug打勾
close掉
------------设置断点-----------------
随便设置几个断点
选中这个项目,右鍵debug as,使用前面配置的configuration启动debug
-------------java-----------------
选中相应进程点小蟑螂图标
回到debug视图
在emulator 中重新运行hellojni
就会触发刚才的断点。
不过好像有时候还不能自动的切换,要自己点选相应的debug栈才能切换。
看它文档的意思,ndk的debug功能应该在近期的版本中进一步增强。
到此就ok了。
本文详细介绍了如何使用Eclipse环境进行Android应用的Java代码和Native代码调试,通过导入hellojni工程、编译源码、设置调试配置、添加断点等步骤,实现了对Android内部运行流程的深入理解。
944

被折叠的 条评论
为什么被折叠?



