eclipse 单步调试JNI

1. 环境配置
a) 下载eclipse, SDK, NDK
b) 安装cdt
c) 安装adt
d) window --> Preferences --> Android 配置SDK路径
d) window --> Preferences --> Android --> NDK 配置NDK路径

2. 建立工程
a) 新建Android工程
b) 工程上右键 ---> Android Tools ---> Add Native Support...

c) 添加native 函数,javah 生成头文件, 写Native Cpp代码...


3) 调试
a) 工程上右键 --->Properties ---> C/C++ Build ---> Build Settings  ---> Build command: "ndk-build NDK_DEBUG=1 -j4"
b) 工程上右键 ---> Debug As ---> "Android Native Application"  进行调试

这个时候会出现

Unknown Application ABI: 
Android
Unknown Application ABI: 
NDK:
Unknown Application ABI: 
WARNING:
Unknown Application ABI: 	


c) 在jni目录下增加 Application.mk, 内容为    "APP_PLATFORM := android-16"
d) 就可以进行调试了。
 
 
注意事项:
a)   System.loadLibrary("xxxx") 位于onCreate 的setContentView(...) 之后,
b)   onCreate里调用的JNI函数不能在native 里面拿到断点。 
      onResume在第一次启动的时候,也不能进入native 断点, 第二次才能进入。
      观察了一下,应该是整个应用启动完成后,才连上gdb的,才能进行断点调试。因此,在启动完成以后才能进行断点。
    

你可能感兴趣的:(eclipse 单步调试JNI)