首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从ndk加载本机库

无法从ndk加载本机库
EN

Stack Overflow用户
提问于 2017-06-20 09:28:02
回答 2查看 906关注 0票数 1

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

代码语言:javascript
复制
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:无法加载本机库java.lang.UnsatisfiedLinkError dlopen失败:未找到库"libselinux.so“

甚至我也提取了apk,却找不到so文件。我是不是漏掉了什么

EN

回答 2

Stack Overflow用户

发布于 2017-06-21 03:52:49

您缺少的是试图将共享库mylib链接到native-activity共享库。为了加载mylib库,还必须将其打包到.apk中。只需将此代码添加到本机_ code _path/build.gradle中即可:

代码语言:javascript
复制
android {
    sourceSets{
        main.jniLibs.srcDirs  = ['path_to_mylib']
    }
}
票数 0
EN

Stack Overflow用户

发布于 2018-05-17 20:17:09

您确定您的库在/data/app/com.example.native_activity-1/lib/arm/libnative-activity.so而不是data/app/com.example.native_activity-1/lib/arm/libnative-activity.so中吗?似乎您指定的是绝对路径,而不是相对路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44649077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档