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

Android Studio无法找到项目原生C++库,运行报UnsatisfiedLinkError

解决Android运行时找不到libnvddemo.so的问题

以下是几个排查和解决的关键点:

  • 确认ABI架构支持
    Android设备的CPU架构需要和生成的.so库架构匹配。在app模块的build.gradle中显式指定支持的ABI集合,避免只生成默认架构的库:

    android {
        defaultConfig {
            ndk {
                abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
            }
        }
    }
    
  • 验证CMake与模块的关联配置
    检查app模块的build.gradle是否正确配置了externalNativeBuild,确保路径指向你的CMakeLists.txt文件:

    android {
        externalNativeBuild {
            cmake {
                path "src/main/cpp/CMakeLists.txt" // 替换为你的CMakeLists实际路径
                version "3.18.1" // 和CMakeLists开头指定的版本保持一致
            }
        }
    }
    
  • 清理并重建项目
    构建缓存可能导致旧的或未生成的库残留,执行以下操作:

    1. 点击Android Studio顶部菜单栏的Build -> Clean Project
    2. 再执行Build -> Rebuild Project
      或者使用命令行:
    ./gradlew clean assembleDebug
    
  • 检查APK是否包含目标库
    解压生成的Debug APK,查看libs/[对应ABI]/目录下是否存在libnvddemo.so。如果不存在,说明CMake编译过程未生成该库,此时需要检查:

    • native-lib.cpp是否存在于指定的路径下
    • CMakeLists.txt中的SOURCES变量是否正确包含了所有需要编译的源文件

内容的提问来源于stack exchange,提问作者AggelosT

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 08:40:29