查看: 1163|回复: 36

[Android教程] Android 7.0及以上使用OpenCL

[复制链接]
  • TA的每日心情
    无聊
    6 小时前
  • 签到天数: 42 天

    [LV.5]常住居民I

    151

    主题

    208

    帖子

    4825

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    4825

    最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

    发表于 2018-11-18 17:25:17 | 显示全部楼层 |阅读模式
    内容
    由于从Android 7.0, API 24, 开始, 系统将阻止应用链接至非公开NDK库, 所以, 使用libOpenCL.so时与面向低版本的Android平台有所不同, 需要把依赖的非公开NDK库打包到APK中
    确定依赖的库
    首先应该确定你所使用的libOpenC.so所依赖的库, 使用命令objdump -x libOpenCL.so | grep NEEDED,

    Android 7.0及以上使用OpenCL

    Android 7.0及以上使用OpenCL


    这是在我的手机上面测试的情况, 那么我们需要做的是从手机上面, 把这些库全部pull出来, 然后打包到APK中. (在本例中, libc.so和libm.so是公开NDK库, 可以不用打包, 所以下面中没有打包)
    打包依赖库
    先是从手机/system/lib/目录下面把这些库pull出来, 然后把他们全部放到AndroidStudio工程的jniLibs目录下面,

    Android 7.0及以上使用OpenCL

    Android 7.0及以上使用OpenCL


    然后在CMakeLists.txt中添加这些库
    1. add_library(libOpenCL SHARED IMPORTED )
    2. set_target_properties(libOpenCL PROPERTIES IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/src/main/jniLibs/armeabi-v7a/libOpenCL.so")
    3. add_library(libcutils SHARED IMPORTED )
    4. set_target_properties(libcutils PROPERTIES IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/src/main/jniLibs/armeabi-v7a/libcutils.so")
    5. add_library(libvndksupport SHARED IMPORTED )
    6. set_target_properties(libcutils PROPERTIES IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/src/main/jniLibs/armeabi-v7a/libvndksupport.so")
    7. add_library(libc++ SHARED IMPORTED )
    8. set_target_properties(libcutils PROPERTIES IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/src/main/jniLibs/armeabi-v7a/libc++.so")
    复制代码

    这样应该就没问题了, 如果执行时还有找不到库的报错, 按照同样的方法添加对相应库的依赖即可.


    帖子地址: 

  • TA的每日心情
    难过
    2019-9-20 19:39
  • 签到天数: 2 天

    [LV.1]初来乍到

    0

    主题

    8

    帖子

    127

    积分

    Lv 2:论坛新兵

    Rank: 1

    积分
    127
    发表于 2018-11-19 10:33:17 | 显示全部楼层
    顶起出售广告位
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-10-11 21:51
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    11

    帖子

    127

    积分

    Lv 2:论坛新兵

    Rank: 1

    积分
    127
    发表于 2018-11-19 10:33:21 | 显示全部楼层
    支持你哈...................................
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    9

    帖子

    113

    积分

    Lv 2:论坛新兵

    Rank: 1

    积分
    113
    发表于 2018-11-19 10:43:59 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情

    1568818642
  • 签到天数: 2 天

    0

    主题

    6

    帖子

    113

    积分

    Lv 2:论坛新兵

    Rank: 1

    积分
    113
    发表于 2018-11-19 10:44:05 | 显示全部楼层
    平常心啊~~~~~
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    6

    帖子

    113

    积分

    Lv 2:论坛新兵

    Rank: 1

    积分
    113
    发表于 2018-11-19 10:44:56 | 显示全部楼层
    看起来好像不错的样子
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    5

    帖子

    113

    积分

    Lv 2:论坛新兵

    Rank: 1

    积分
    113
    发表于 2018-11-19 10:54:53 | 显示全部楼层
    为保住菊花,这个一定得回复!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-9-18 22:57
  • 签到天数: 2 天

    [LV.1]初来乍到

    0

    主题

    12

    帖子

    131

    积分

    尊贵vip会员

    Rank: 5Rank: 5

    积分
    131
    发表于 2018-11-19 11:01:56 | 显示全部楼层
    回个帖子,下班咯~
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    7

    帖子

    113

    积分

    Lv 2:论坛新兵

    Rank: 1

    积分
    113
    发表于 2018-11-19 11:04:50 | 显示全部楼层
    楼上的你说你来?
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-10-11 07:40
  • 签到天数: 2 天

    [LV.1]初来乍到

    0

    主题

    9

    帖子

    126

    积分

    Lv 2:论坛新兵

    Rank: 1

    积分
    126
    发表于 2018-11-19 11:08:49 | 显示全部楼层
    很无力%哎!……
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    快速回复 返回顶部 返回列表