Android
luoluo130
这个作者很懒,什么都没留下…
展开
-
Fingerprint指纹识别学习
Fingerprint模块架构图如下,这里分为application,framework,fingerprintd和FingerprintHal这几个部分,不涉及指纹的IC库和驱动这部分,这部分逻辑由指纹厂商来实现,目前了解的并不多。 二、Fingerprint framework初始化流程在系统开机的时候,会启动各种Service,包括FingerprintService。从转载 2017-08-23 15:02:33 · 9755 阅读 · 0 评论 -
Android HIDL 实例
前言:从Android HIDL 详解 一文得知HIDL 使用passthrough 模式,为了与原来的HAL 版本兼容。除了passthrough 模式,还有一种binderized模式。本文通过HIDL 中的Helloworld 进行实例分析,进一步了解HIDL 使用。本文source code 基于Android P。 Step 1 确定...转载 2019-07-09 11:58:31 · 1418 阅读 · 0 评论 -
Android HIDL 编程规范
目录结构和文件命名软件包名称版本导入接口名称函数结构体/联合字段名称类型名称枚举值备注文件备注TODO 备注接口/函数备注(文档字符串) 格式软件包声明函数声明注释枚举声明结构体声明数组声明矢量HIDL 代码样式类似于 Android 框架中的 C++ 代码,缩进 4 个空格,并且采用混用大小写的文件名。软件包声明、导入和文档字符串与 Ja...转载 2019-07-09 11:59:42 · 616 阅读 · 0 评论 -
Android HIDL学习(4) ---- 高性能比较(HIDL, FMQ, MMAP)
Android HIDL学习(4) ---- 高性能比较(HIDL, FMQ, MMAP)写在前面公司一些方案,在Andoird P上架构必须要修改成HIDL,不然会遇到一系列的Selinux的问题,所以决定还是按照标准的Android HIDL的架构重新写了方案(因为比较机密,所以不透露具体方案代码)。但是我们的这个模块对性能的要求非常高,不然咱们的设备怎么能打败竞争对手呢...转载 2019-07-09 11:58:02 · 940 阅读 · 0 评论 -
Android HIDL学习(6)---Fast Message Queue
Android HIDL学习(6)---Fast Message Queue想聊聊FMQ的,无意中看到下面这篇文章,写的很好,所以就直接拿来用了,笑纳笑纳~https://www.jianshu.com/p/5c6e35c7c346快速消息队列 (FMQ)HIDL 的远程过程调用 (RPC) 基础架构使用 Binder 机制,这意味着调用涉及开销、需要内核操作,并且可以触...转载 2019-07-09 11:59:11 · 767 阅读 · 0 评论 -
Android HIDL学习(5) ---- 设计要素
Android HIDL学习(5) ---- 设计要素 <!-- 作者区域 --> <div class="author"> <a class="avatar" href="/u/f75d5c29779b"> <img src="//upload.jianshu.io/users/upload_...转载 2019-07-09 11:59:17 · 248 阅读 · 0 评论 -
Android HIDL学习(3) ---- 注册回调
上一节我们学会了如何创建HIDL的server端和client端,对于那些没玩过Android O或者以上的BSP开发者而言,可以吹上一阵子牛逼了,毕竟比人家多了一个技能,面试的时候也可以装一下了_OK,我们还知道了在Android O或者以上的Android版本上创建一个HAL模块的一般流程是如何的,我们这一节来看一个比较简单的东西,也是每个模块基本必不可少的一个玩意儿,那就是回调函数。注册...转载 2019-07-09 11:57:51 · 1577 阅读 · 1 评论 -
Android HIDL学习(1) ---- 简介
HIDLHAL接口定义语言(简称HIDL)适用于指定HAL和其用户之间的接口的一种接口描述语言(IDL)。HIDL允许指定类型和方法调用。从更更烦的意义上来说HIDL适用于在独立编程的代码库之间通信的系统。HIDL旨在用于进程间通信(IPC)。进程之间的通信经过Binder化。对于必须与进程相关联的代码库,还可以使用直通模式。HIDL可指定数据...转载 2019-07-09 11:57:34 · 373 阅读 · 0 评论 -
Android HIDL学习(2) ---- HelloWorld
Android HIDL学习(2) ---- HelloWorld程序员有个癖好,无论是学习什么新知识,都喜欢以HelloWorld作为一个简单的例子来开头,咱们也不例外。OK,咱这里都是干货,废话就不多说啦,学习HIDL呢咱们还是需要一些准备工作和门槛的。准备工作:Android BSP编译环境Android设备的BSP代码Android设备,用来跑测试代码...转载 2019-07-09 11:51:11 · 459 阅读 · 2 评论 -
Android O及以上版本hal程序书写
简介Android O的一项新元素是 Project Treble。这是 Android 操作系统框架在架构方面的一项重大改变,旨在让制造商以更低的成本更轻松、更快速地将设备更新到新版 Android 系统。在Android O之前,HAL是一个个的.so库,通过dlopen来进行打开,库和framework位于同一个进程。新的架构之下,framework和hal运行于不同的进程,所有的HA...转载 2019-07-09 11:57:19 · 1727 阅读 · 0 评论 -
HAL库和fingerprintd整合进系统
添加一个HAL模块后修改hardware/libhardware/modules/Android.mk, 将hq_fm模块加进去但是android整体编译时不会生成so库。单独编译时是可以生成so库:一直以为添加了Android.mk后相应的文件的就会编译出来,然而事实并非如此,有Android.mk只表了这个模块有了编译规则,后续可以按照这个规则来进行编译,至于在全编整个项目时会不...原创 2019-06-14 11:23:46 · 209 阅读 · 0 评论