无法从ndk加载本机库

时间:2017-06-20 09:28:03

标签: android android-ndk cmake

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

add_library(mylib              共享              进口)

set_target_properties(mylib                        物业IMPORTED_LOCATION                        $ libpath)

target_link_libraries(天然活性                       安卓                       MYLIB                       日志)

但我收到错误:

致命的例外:主要                                                                              处理:com.example.native_activity,PID:32690                                                                              java.lang.UnsatisfiedLinkError:无法加载本机库" /data/app/com.example.native_activity-1/lib/arm/libnative-activity.so" ;: dlopen failed:library" libselinux的.so"找不到

即使我解压缩了apk也无法找到so文件。我错过了什么

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分: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吗?看来你指的是绝对路径而不是相对路径。