首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从android的obb文件夹加载.so本机库

从android的obb文件夹加载.so本机库
EN

Stack Overflow用户
提问于 2015-05-14 15:17:26
回答 1查看 1.4K关注 0票数 3

我有一个.so文件,我打包到一个obb扩展中。大约20兆字节。

我试着用

代码语言:javascript
运行
复制
System.load("/storage/emulated/0/Android/obb/com.mypackage.myapp/libtest.so");

来加载图书馆。但我知道错误是:

dlopen("/storage/emulated/0/Android/obb/com.mypackage.myapp/libtest.so",RTLD_LAZY)失败: dlopen失败:无法映射"/storage/emulated/0/Android/obb/com.mypackage.myapp/libtest.so“段2:权限被拒绝 path="/storage/emulated/0/Android/obb/com.mypackage.myapp/libtest.so“dev="fuse”ino=367663176224 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:fuse:s0 tclass=file permissive=0的type=1400审计(0.0:8):avc:拒绝{ execute }

所以我意识到我们不允许在那里有一个可执行文件。

所以我的问题是,

1-哪里应该提取文件才能做到这一点?

我应该打什么功能电话?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-14 15:24:49

将该文件复制到应用程序私有内部存储文件夹下的任意位置,确保其标记为只读和可执行(不可写,尤其是其他任何人!)这是允许可执行文件的应用程序通常可写的唯一位置树。

您可以通过在初始化的活动或服务上下文上调用getFilesDir()来确定私有文件夹位置。

这里有许多现有的问题,它们演示了Java中的文件复制机制。

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

https://stackoverflow.com/questions/30240963

复制
相关文章

相似问题

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