eclipse 单步调试JNI
16lz
2021-01-25
1. 环境配置
a) 下载eclipse, SDK, NDK
b) 安装cdt
c) 安装adt
d) window --> Preferences --> Android 配置SDK路径
d) window --> Preferences --> Android --> NDK 配置NDK路径
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: AndroidUnknown 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的,才能进行断点调试。因此,在启动完成以后才能进行断点。
更多相关文章
- 在mac上快速搭建Android、iOS自动打包环境(一)
- 在eclipse中将android工程打包生成apk文件
- Android(安卓)Eclipse 源码工程 调试
- 申请google Map API key
- Android(安卓)Studio 中Kotlinx开发
- Android实现删除apk弹出网页
- Android(安卓)使用MediaPlayer播放本地视频
- android源码中的c c++库( android中动态和静态版本都有的库)
- android初中高开发工程师必需要装的一个APP