首页 文章

无法从ndk加载本机库

提问于
浏览
1

我正在尝试按照文档CMakeList.txt中给出的步骤添加预构建的库:

add_library(mylib SHARED IMPORTED)

set_target_properties(mylib PROPERTIES IMPORTED_LOCATION $ libpath)

target_link_libraries(native-activity android mylib log)

但我收到错误:

致命异常:主进程:com.example.native_activity,PID:32690 java.lang.UnsatisfiedLinkError:无法加载本机库“/data/app/com.example.native_activity-1/lib/arm/libnative-activity.so” :dlopen失败:未找到库“libselinux.so”

即使我提取了apk,也找不到so文件 . 我错过了什么

2 回答

  • 0

    您缺少尝试将共享库 mylib 链接到 native-activity 共享库 . 要加载 mylib 库,您还必须将其打包到.apk中 . 您只需将此代码添加到native_module_path / build.gradle:

    android {
        sourceSets{
            main.jniLibs.srcDirs  = ['path_to_mylib']
        }
    }
    
  • 0

    你确定你的图书馆在 /data/app/com.example.native_activity-1/lib/arm/libnative-activity.so 而不是 data/app/com.example.native_activity-1/lib/arm/libnative-activity.so 吗?看来你指的是绝对路径而不是相对路径 .

相关问题