【发布时间】:2015-07-26 06:48:39
【问题描述】:
我有一个 .so 文件,我将其打包到 obb 扩展中。它大约是 20 兆字节。
我正在尝试使用
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:权限被拒绝
type=1400 audit(0.0:8): avc: denied { execute } for 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
所以我意识到我们不允许在那里有可执行文件。
所以我的问题是,
1- 应该在哪里提取文件才能做到这一点?
2- 我应该调用什么函数?
谢谢。
【问题讨论】:
标签: android android-permissions apk-expansion-files android-native-library