当前位置: 首页 > wzjs >正文

免费网站专业建站2023国内外重大新闻事件10条

免费网站专业建站,2023国内外重大新闻事件10条,dz论坛网站建设,网站制作一般哪家好背景描述 Android15 Camera HAL使用Android.bp脚本来构建系统。假设Camera HAL中引用了另外一个HAL实现的so (例如VPU HAL), 恰巧被引用的这个VPU HAL so是用Android.mk构建的,那Camera HAL Android.bp在直接引用这个Android.mk编…

背景描述

Android15 Camera HAL使用Android.bp脚本来构建系统。假设Camera HAL中引用了另外一个HAL实现的so (例如VPU HAL), 恰巧被引用的这个VPU HAL so是用Android.mk构建的,那Camera HAL Android.bp在直接引用这个Android.mk编译出来的so时很可能会出现链接问题。

那么这时候有啥曲线救国方法能让Camera HAL Android.bp成功引用这个VPU HAL so吗?

先说第一个方案:

  1. VPU HAL so改Android.mk编译为Android.bp,然后生成lib/libvpu_pv.so和lib64/libvpu_pv.so。
  2. Camera HAL路径下建一个目录放要引用的so和头文件。
  3. Camera HAL Android.bp中添加vpu so的预编译目标。
  4. Camera HAL Android.bp中添加对vpu引用。

注意:VPU HAL Android.mk和Android.bp编译出来的so符号要避免冲突。

VPU HAL Android.bp构建so

cc_library_shared {name: "libarm_vpu_jpegenc_wr",vendor: true,srcs: [vpu_wrapper/encoder/jpeg_encoder_wrap/arm_jpeg_encoder.c",],include_dirs: ["vendor/qc/hardware/modules/vpu/libs/inc","vendor/qc/hardware/modules/vpu/wrapper/encoder/jpeg_enc",],static_libs: ["libh2enc",],header_libs: ["libhardware_headers","arm_gralloc_headers",],shared_libs: ["libcutils","libc","liblog","libcutils",],defaults: ["memory_allocator_defaults",],export_include_dirs: ["vendor/qc/hardware/modules/vpu/wrapper/encoder/jpeg_enc",],
}

 这里将生成vendor/lib/libarm_vpu_jpegenc_wr.so和vendor/lib64/libarm_vpu_jpegenc_wr.so。

vpu so放到Camera HAL

这里如下放置:vendor/qc/hardware/modules/camera/devices/EmulatedCamera/hwl/ext_lib/lib/libarm_vpu_jpegenc_wr.so

vendor/qc/hardware/modules/camera/devices/EmulatedCamera/hwl/ext_lib/lib64/libarm_vpu_jpegenc_wr.so

vendor/qc/hardware/modules/camera/devices/EmulatedCamera/hwl/ext_inc/arm_vpu_jpegenc_wr.h

Camera HAL添加vpu预编译目标

cc_prebuilt_library_shared {name "libarm_vpu_jpegenc_wr",vendor: true,strip: { none: true },compile_multilib: "both",arch: {arm: {srcs: ["ext_lib/lib/libarm_vpu_jpegenc_wr.so"],relative_install_path: ".",},arm64: {srcs: ["ext_lib/lib64/libarm_vpu_jpegenc_wr.so"],relative_install_path: ".",},},shared_libs: ["libutils","liblog","libcutils","libdmabufheap",],
}

Camera HAL中添加对vpu的引用

//主要是两个内容:头文件路径和so应用
...
xx {...shared_libs: [..."libarm_vpu_jpegenc_wr",],include_dirs: [..."vendor/qc/hardware/modules/camera/devices/EmulatedCamera/hwl/ext_inc",],...
}

可能遇到的问题

out/soong/.intermediates/vendor/qc/hardware/modules/camera/devices/EmulatedCamera/hwl/libarm_vpu_jpegenc_wr/android_vendor.35_arm64_armv8-a_shared/libarm_vpu_jpegenc_wr.so: error: DT_NEEDED "libutils.so" is not specified in shared_libs.

问题原因

  • DT_NEEDED
    是 ELF 文件(共享库)中的一个字段,用于指定该库依赖的其他共享库。加载器会根据 DT_NEEDED 动态加载依赖库。

  • 库文件 libarm_vpu_jpegenc_wr.so 依赖 libutils.so,但在 Android.bp 的 shared_libs 中未声明该依赖。

解决方法

在Android.bp中添加缺失的依赖,对于这里的例子,就是:

out/soong/.intermediates/vendor/qc/hardware/modules/camera/devices/EmulatedCamera/hwl/libarm_vpu_jpegenc_wr/android_vendor.35_arm_armv8-a_shared/libarm_vpu_jpegenc_wr.so: error: DT_SONAME "libarm_vpu_jpegenc.so" must be equal to the file name "libarm_vpu_jpegenc_wr.so". 

问题的原因

  • DT_SONAME
    是 ELF 文件(共享库)中的一个字段,用于指定动态链接时的库名称。加载器会根据 DT_SONAME 查找库文件。

  • 库文件 libarm_vpu_jpegenc_wr.so 的 DT_SONAME 被设置为 libarm_vpu_jpegenc.so,而 Android 构建系统要求 DT_SONAME 必须与库文件名一致。

Camera HAL Android.bp中cc_prebuilt_library_shared libarm_vpu_jpegenc_wr, 构建的src虽然是libarm_vpu_jpegenc_wr.so, 单这个so构建脚本(VPU HAL Android.bp)中cc_library_shared 是arm_vpu_jpegenc。 即DT_SONAME需要和库文件名不一致。

解决方法

修改VPU HAL Android.bp cc_library_shared目标名为libarm_vpu_jpegenc_wr。

http://www.dtcms.com/wzjs/474585.html

相关文章:

  • 邢台网站推广怎么做广告软文小故事800字
  • 做设计时可以参考的网站郑州网络营销公司哪家好
  • 漳浦县网站建设网站建设介绍ppt
  • 岳阳网站定制开发设计百度指数可以查询多长时间的
  • 青锐成长计划网站开发过程深圳关键词排名优化系统
  • 南京怎么做网站软文内容
  • 重庆大渡口营销型网站建设公司推荐网站seo优化检测
  • 全国交通建设网官方网站哪些广告平台留号码
  • 网站开发方案及报价it培训机构靠谱吗
  • 用微软雅黑做网站可以吗员工培训内容
  • 什么平台做网站自己的网站怎么在百度上面推广
  • 网站人员队伍建设薄弱google搜索引擎官网
  • 微信是哪家公司开发的莆田百度seo公司
  • 抓取的网站如何做seo搜索引擎优化公司排行
  • 做效果图的网站有哪些深圳关键词推广
  • 山东省建设教育信息网站首页外链发布软件
  • 用手机做网站的app指数基金怎么买才赚钱
  • 可做易企秀的网站google seo怎么做
  • 上海专业网站建设报价百度竞价优化软件
  • 做网站(信科网络)百度产品大全首页
  • 南阳做网站优化哪家好网站推广的软件
  • 杭州知名的企业网站建设厦门网站优化公司
  • 网站建设需要php吗百度收录的网站
  • 织梦怎么做单页网站单页网站模板
  • 做电子外贸网站我想接app注册推广单
  • 建筑设计公司属于什么行业类别福州seo关键字推广
  • 网页设计与网站建设作业中国移动有免费的视频app
  • 网站建设项目创业计划书福州seo招聘
  • 广州网站排名优化开发互联网推广与营销
  • 文本文档写入代码做网站不知怎么入门