Android Studio Narwhal无法浏览C++代码及跳转问题求助
我之前也踩过Android Studio Narwhal版本的这个JNI跳转坑,试了几个实用的方法都能解决,给你分享下:
重新同步CMake项目
点击顶部工具栏的File->Sync Project with Gradle Files,或者直接点右侧Gradle面板里的同步图标。有时候刚创建项目时IDE没完全完成C++文件的索引,同步一下能让JNI的链接关系重新建立起来。重建IDE缓存并重启
打开File->Invalidate Caches...,选择Invalidate and Restart选项。很多代码跳转、浏览失效的问题都是IDE缓存过期导致的,清空缓存重启后会重新索引所有代码,包括C++部分,大概率能恢复跳转功能。检查CMakeLists.txt配置
确认你的CMakeLists.txt里正确声明了JNI函数对应的C文件,比如默认Native C项目里应该有add_library(native-lib SHARED native-lib.cpp)这类配置,而且文件路径没有写错。如果路径不对,IDE找不到对应的C++源文件,自然没法触发跳转。切换稳定版NDK试试
有时候Narwhal和某些最新版NDK存在兼容性问题,可以打开Project Structure->SDK Location,换一个经过验证的稳定版NDK(比如r25b版本),然后重新同步项目。确认C++相关插件状态
打开Settings->Plugins,搜索C/C++相关插件,确保C/C++ Support和CMake插件处于启用状态,如果被禁用了就重新启用,之后重启IDE。
我个人亲测最有效的是重建缓存和同步Gradle这两个方法,你可以先从这两个开始尝试,一般都能解决问题。
内容来源于stack exchange

