热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

第2讲AndroidCameraNativeFramework初识cameraserver进程

本讲是AndroidCameraNativeFramework专题的第2讲,我们初识CameraServer,包括如下内容:Camera

本讲是Android Camera Native Framework专题的第2讲,我们初识CameraServer,包括如下内容:


  1. Cameraserver 源码路径
  2. Cameraserver 跑的32位还是64位
  3. Cameraserver 对外开的服务
  4. Cameraserver rc文件
  5. Cameraserver Manifest文件

视频在线观看:


  • 极客笔记:极客笔记在线课程

加入知识星球与更多Camera同学交流
– 星球名称:深入浅出Android Camera
– 星球ID: 17296815
– Wechat: 极客笔记圈



Cameraserver 源码路径

Cameraserver bin


  • /frameworks/av/camera/cameraserver/

Cameraserver makefile详解


  • /frameworks/av/camera/cameraserver/Android.bp

Cameraserver 跑的32位还是64位

看操作系统Kernel是32bit还是64bit

emulator_x86_64:/ # uname -a
Linux localhost 5.15.41-android13-8-00205-gf1bf82c3dacd-ab8747247 #1 SMP PREEMPT Sun Jun 19 02:44:07 UTC 2022 x86_64 Toybox

查看bin是32位还是64位的


  • 使用File命令查看对应的Bin,Bin的名字可以从makefile里面查看

emulator_x86_64:/ # file /system/bin/cameraserver
/system/bin/cameraserver: ELF shared object, 64-bit LSB x86-64, dynamic (/system/bin/linker64), for Android 33, BuildID=ef069dc22fc302b0e657c2eb124d45a9, stripped

通过查看smaps,查看某个进程跑的32位还是64位的(见视频讲解)。


Cameraserver 对外开的服务


Cameraserver rc文件

rc(run command/run configure) 是进程启动时的配置文件。

rc文件在设备(如Android手机)中的存放路径:


  • /system/etc/init/

    • 用于核心系统项,例如 SurfaceFlinger, MediaService和Cameraserver
  • /vendor/etc/init/

    • 针对SoC供应商的项目,如SoC核心功能所需的actions或守护进程
  • /odm/etc/init/

    • 用于设备制造商的项目,如actions或运动传感器或其他外围功能所需的守护进程

Cameraserver Manifest文件

Manifest文件用于定义Vendor Interface接口,供ServiceManager使用。

Manifest文件在设备(如Android手机)中的存放路径:


  • /system/etc/vintf/manifest/

  • /vendor/etc/vintf/manifest/

  • /product/etc/vintf/manifest/

LSHAL 是一种设备端工具,可以列出向 hwservicemanager 注册的所有 HIDL HAL。

AIDL HAL可以通过dumpsys -l 或service list查看。


推荐阅读
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • 本文由chszs撰写,详细介绍了Apache Mina框架的核心开发流程及自定义协议处理方法。文章涵盖从创建IoService实例到协议编解码的具体步骤,适合希望深入了解Mina框架应用的开发者。 ... [详细]
  • Redis 教程01 —— 如何安装 Redis
    本文介绍了 Redis,这是一个由 Salvatore Sanfilippo 开发的键值存储系统。Redis 是一款开源且高性能的数据库,支持多种数据结构存储,并提供了丰富的功能和特性。 ... [详细]
  • http:blog.csdn.netzeo112140articledetails7675195使用TCPdump工具,抓TCP数据包。将数据包上传到PC,通过Wireshark查 ... [详细]
  • 本文介绍了如何在 Linux 系统上构建网络路由器,特别关注于使用 Zebra 软件实现动态路由功能。通过具体的案例,展示了如何配置 RIP 和 OSPF 协议,以及如何利用多路由器查看工具(MRLG)监控网络状态。 ... [详细]
  • ipvsadm命令简介:ipvsadm是LVS在应用层的管理命令,我们可以通过这个命令去管理LVS的配置。在fedora14、Linux6.0之后系统中 ... [详细]
  • 开发笔记:新手DVWACSRF
    开发笔记:新手DVWACSRF ... [详细]
  • Kodi(原名XBMC)是一款由XBMC基金会开发的免费开源媒体播放器应用,支持多种操作系统和硬件平台。该软件以其强大的多媒体处理能力和用户友好的界面受到广泛欢迎。 ... [详细]
  • 本文详细介绍了如何手动编写兼容IE的Ajax函数,以及探讨了跨域请求的实现方法和原理,包括JSONP和服务器端设置HTTP头部等技术。 ... [详细]
  • 本文详细探讨了 Java 中 Daemon 线程的特点及其应用场景,并深入分析了 Random 类的源代码,帮助开发者更好地理解和使用这些核心组件。 ... [详细]
  • 本文档详细介绍了服务器与应用系统迁移的策略与实施步骤。迁移不仅涉及数据的转移,还包括环境配置、应用兼容性测试等多个方面,旨在确保迁移过程的顺利进行及迁移后的系统稳定运行。 ... [详细]
  • 本文介绍了如何利用X_CORBA实现远程对象调用,并通过多个示例程序展示了其功能与应用,包括基础的Hello World示例、文件传输工具以及一个完整的聊天系统。 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • 申请地址:https://developer.apple.com/appstore/contact/?topic=expedite 常见申请理由:1. 我们即将发布新产品,这是一个媒体活动,我们无法承担任何风险,因此在多个方面努力提升应用质量。 ... [详细]
  • 在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ... [详细]
author-avatar
asdasdasd
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有