在AndroidStudio4中已内嵌了LLDB,不需要单独下载。从网上找到的资料都不是针对AndroidStudio4的,如何让项目可以调试JNI中C/C++代码这个问题纠结了我好几天,最后一边不停的谷歌,一边自己瞎捣鼓,竟然把这个问题给解决了,故在此做了记录,以免以后又忘却了。
下面就直奔主题,介绍配置方法:
1. 将项目导入AndroidStudio中(具体导入方法这里不再介绍,请自行百度)
提示NDK未安装,依次点击[File]->[Settings...]->[Appearance & Behavior]->[System Settings]->[Android SDK]->[SDK Tools],勾选"NDK(Side by side)",并点击[Apply]按钮进行安装。
2.如果安装完NDK后仍然提示NDK未安装,依次点击[File]->[Project Structure]->[SDK Location],
选择ndk的安装目录(通常是SDK安装目录/ndk/ndk版本号),并点击[Apply]按钮之后将不会再报NDK未安装的错误。
3. 将项目切换到Project视图,并右击app模块选择”Link C++ Project with Gradle“菜单,如下图所示:
弹出如下图所示的窗口,这里支持两种构建方式,CMake和NDK,要根据项目的实际情况进行选择,我的项目中存在Android.mk文件,所以应该选择ndk-build,填写主mk文件的路径(Cmake方式时,选择CMakeLists.txt文件的路径),并点击[OK]按钮。
通过上面的操作后,在app/build.gradle中会添加如下内容:
4.在app/build.gradle文件中删除有关buildNative的task节点,如下图所示,然后重新Reimport Gradle Project一下。
5. 在JNI代码中加断点调试运行即可,如下图所示: