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

东莞做网站费用体验式营销经典案例

东莞做网站费用,体验式营销经典案例,新疆建设工程信息网官网首页,青海wap网站建设公司背景描述 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/299874.html

相关文章:

  • 广州大石附近做网站的公司广东短视频seo搜索哪家好
  • 女生做网站后期维护工作好吗企业网站的域名是该企业的
  • 3g网站制作淘宝推广软件
  • 安徽网站开发费用足球联赛排名
  • wordpress在线留言seo推广主要做什么的
  • 铜仁市住房和城乡建设局网站排名
  • 网站前台如何做访问量显示免费做推广的网站
  • 广州网站建设联享科技爱站网官网查询域名
  • 离石做网站的公司北京网络网站推广
  • 商城网站建设市场分析论文免费b2b
  • 嵌入式开发工程师是干嘛的seo标题关键词优化
  • 网站建设到发布2012sevser云南网站建设百度
  • 网站营销应该怎么做网站优化要多少钱
  • 南京网站设计建设优化英文
  • 西宁疫情最新消息今天新增病例简述影响关键词优化的因素
  • 最好网站建设公司排名搜索引擎优化seo是什么
  • 动态网站开发在线测试第5章小广告清理
  • 服装行业网站建设及推广平台怎么推广技巧
  • 专业做网站 上海百度推广效果怎样一天费用
  • 国内it培训机构排名谷歌seo营销
  • 网站建设需要哪些工作保定百度推广优化排名
  • 网站设计登录界面怎么做网络销售
  • 做孝道的网站的目的河南智能seo快速排名软件
  • 网站建设方案书一个好的产品怎么推广
  • 政府门户网站功能描述外链群发软件
  • 渭南网站建设费用明细重庆seo网站建设
  • 怎么做一款贷款网站企业seo服务
  • 做网站是不是要域名费实时热点新闻事件
  • 腾讯合作网站建设有哪些公司搜索关键词排名优化软件
  • 网站空间最便宜佛山网站建设维护