问题1:如下图所示,cpp目录不显示或cpp目录不显示C++源文件。
此问题由由于abiFilter指定为armeabi,但armeabi架构已经不再支持的原因导致,将armeabi修改为armeabi-v7a或arm64等其他支持的架构即可,修改后如下图所示:
问题二:android native library模块中的C++代码无法断点
如下图所示project共有app和nativelib两个模块,但app模块下的cpp文件可以正常断点,但nativelib模块下的cpp不能断点
网上搜了很多资料,大概原因是由于library一般会以release方式的形式编译,所以生成的so不包含符号表,因此无法断点。此问题网上也给了很多解决方案,经过验证,唯一个有效的方式是指定app模块调试时符号表的位置。
首先,需要找到library的符号表所在的目录,如下图的所示,在library的build目录下搜索相应的so,然后文件大小最大的那个SO就是带符号表的SO。
最后点击app下面的那个Edit configurations…,然后添加一个符号表目录即可。