发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
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的,才能进行断点调试。因此,在启动完成以后才能进行断点。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。