Android Studio创建jni文件夹后调试器无法显示崩溃日志
解决Android Studio添加JNI文件夹后调试器异常的问题
你遇到的问题大概率是添加JNI目录后,Android Studio自动切换到了Native调试模式,但你的项目要么没有实际Native代码,要么符号配置不完整,导致调试器无法正常捕获Java层崩溃日志,反而抛出native调试相关的错误。下面是几个针对性的解决方案:
1. 切换回Java调试模式(最直接的修复)
这是最常见的触发原因——AS检测到JNI目录后会默认启用Native调试,但你其实只需要Java/Kotlin调试:
- 点击顶部工具栏的Run/Debug配置下拉框(就是显示当前"app"的选项)
- 选择「Edit Configurations...」
- 在左侧列表选中你的app配置,切换到Debugger标签页
- 在「Debug type」下拉菜单里选择Java(不要选Native或Auto)
- 点击「Apply」和「OK」,重新启动调试会话
2. 若需Native调试,配置NDK与符号文件
如果你确实在开发Native代码,需要确保调试器能识别符号文件:
- 在app模块的
build.gradle中配置NDK和ABI支持:android { defaultConfig { ndk { abiFilters 'armeabi-v7a', 'arm64-v8a' // 根据你的测试设备ABI调整 } } externalNativeBuild { cmake { path file("CMakeLists.txt") // 用NDK Build则指定Android.mk路径 } } } - 在CMakeLists.txt中开启Debug符号生成:
set(CMAKE_BUILD_TYPE Debug) # 强制生成调试符号 set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
3. 清理重建项目,重置调试状态
缓存混乱也可能导致调试配置异常,试试以下步骤:
- 点击菜单栏「Build」→「Clean Project」
- 接着点击「Build」→「Rebuild Project」
- 重启Android Studio和测试设备/模拟器,重新连接调试
4. 重置ADB连接
ADB连接异常也会干扰调试器工作:
- 在终端执行:
adb kill-server adb start-server - 确保设备的「USB调试」已开启,且Android Studio能正常识别设备
错误日志说明
你看到的No symbol directories found是因为调试器尝试加载Native代码符号但找不到,Process finished with exit code 9则是调试器连接失败或配置不匹配导致的退出状态码。切换回Java调试模式后,这些问题会消失,你也能正常查看Java层的崩溃日志了。
内容的提问来源于stack exchange,提问作者Code
相关产品推荐
相关产品推荐

