/vendor/lib64/libOpenCL.so在安卓应用中无访问权限的解决办法

转自:https://www.cnblogs.com/thisisajoke/p/12759985.html
当采用OpenCL对部分NDK代码进行加速的时候,发现运行无法调用厂商提供的libOpenCL库,原因是权限不够,以下为解决办法:

  1. 查看该库文件是否在公共库声明中,如下在adb shell中检查
    adb root
    adb shell
    cd /vendor/etc
    cat public.libraries.txt
    如果显示类似如下
    libMcClient.so
    libMcRegistry.so
    libOpenCL.so
    表明没问题,但如果没有发现libOpenCL.so,表明还需要添加它到public.libraries.txt中,
    echo libOpenCL.so >> public.libraries.txt

  2. 查看是否有对库所在路径的读写权限,在adb shell中执行:
    getenforce
    显示
    Permissive
    则表明OK,如果为
    Enforcing
    则表明当前没有开启读写权限,系统处于被保护状态(readonly system).
    一切以adb root成功为前提,执行以下操作:
    setenforce 0
    这样,应该就能正常使用libOpenCL.so了。如果还不行,那么请查看下/vendor/lib64/下是否真的存在libOpenCL.so文件。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值