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

太原关键词排名提升唐山seo推广公司

太原关键词排名提升,唐山seo推广公司,青浦门户网站,做试玩网站背景描述 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/107796.html

相关文章:

  • 服务型网站建设长沙seo优化报价
  • 100条经典广告语下载优化大师app
  • 大连网站建设多少钱太原seo排名优化软件
  • 网站建设与推广是什么四川网络推广推广机构
  • wordpress 模板兔四川百度推广和seo优化
  • 小米网站 用什么做的代发关键词排名包收录
  • 介绍个人网站的ppt怎么做镇海seo关键词优化费用
  • avs做视频网站简单吗哪些网站有友情链接
  • 做网站 钱谷歌站长平台
  • 傻瓜式建站平台电视剧百度风云榜
  • 网站建设上海站霸爱站网seo
  • 在哪个网站可以学做衣服怎样推广自己的广告
  • 网站建设前期准备方案种子搜索引擎torrentkitty
  • 怎么自己做网站排名店铺推广方案怎么写
  • 福州网站怎么做的优化大师官方下载
  • CSS3网站开发百度关键词热搜
  • 软件开发工程师是干嘛的优化大师tv版
  • 哈尔滨疫情最新动态北京网站seo招聘
  • 网站选项卡图标代码t和p在一起怎么做网站
  • 南充做网站多少钱产品软文代写
  • 做一个同城便民信息网站怎么做小程序搭建
  • wordpress 媒体库分类厦门百度关键词seo收费
  • 企业网站微信公众号的建设事迹下载关键词推广软件
  • 广州网站建设广州网络推广公司排名手机端网站优化
  • 网站制作软件区别竞价托管收费标准
  • 网站用哪些系统做的比较好用网址查询服务器地址
  • 重庆营销网站建设北京网站优化快速排名
  • 政府网站排版布局杭州seo培训
  • 北京网站建设及app友情链接怎么做
  • 做网站怎么发展客户创建网站