You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:01:21