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

上海网站设计制作报价如何免费推广一个网站

上海网站设计制作报价,如何免费推广一个网站,中国佛山手机网站建设,永嘉网站建设背景描述 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/243524.html

相关文章:

  • 做网站使用明星照片可以吗百度收录规则2022
  • 京东网站建设步骤那种网站怎么搜关键词
  • 合肥网站建设设计电商代运营
  • 东莞seo关键字优化seo最强
  • 南昌网站搭建制作公司如何建网站
  • 徐州建筑网站百度精准营销获客平台
  • 网站运营需要做什么李江seo
  • 复制Wordpress网站快速网络推广
  • wap建站系统站长工具的使用seo综合查询运营
  • 网站建设心得体会总结流量大的推广平台有哪些
  • wordpress 仪表板主题福州seo按天收费
  • 数码网站建设的规模与类别好消息疫情要结束了
  • 宝安做棋牌网站建设有哪些公司如何线上推广自己产品
  • 企业所得税怎么算一般纳税人北京云无限优化
  • 新乡个人网站建设哪家好seo和sem的区别是什么
  • B2C网站可使用的交易功能为网络舆情分析研判报告
  • wordpress basic主题百度关键词优化公司
  • 如何制作小程序的详细步骤江北seo综合优化外包
  • 广西城乡建设部网站长沙网站排名推广
  • 河南省百城建设提质网站如何做网址
  • 怎么做家教网站全网营销软件
  • PHP网站新闻发布怎么做交换链接
  • 南宁网站建设_seo优化服务公司百度开车关键词
  • 购物商城外贸网站建设最新推广赚钱的app
  • 网页发布的步骤常州百度seo排名
  • 深圳政府网官网首页青岛官网seo
  • 网站服务器vps河南公司网站建设
  • 有没有做企业网站的广告优化师培训
  • 建设网站可选择的方案一键开发小程序
  • 美食网站源代码百度怎么精准搜索