/vendor/lib64/libOpenCL.so在安卓應用中無訪問權限的解決辦法


/vendor/lib64/libOpenCL.so在安卓應用中無訪問權限的解決辦法——
當采用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文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM