
HIDL
fredhurui
Android project leader
展开
-
Android HIDL(3) - Interface Hashing
https://source.android.com/devices/architecture/hidl/hashing接口哈希本文档介绍了 HIDL 接口哈希,该哈希是一种旨在防止意外更改接口并确保接口更改经过全面审查的机制。这种机制是必需的,因为 HIDL 接口带有版本编号,也就是说,接口一经发布便不得再更改,但不会影响应用二进制接口 (ABI) 的情况(例如更正备注)除外。布局...翻译 2019-05-26 21:57:35 · 1213 阅读 · 0 评论 -
Android HIDL - JAVA(3) - Interface Errors and Methods
https://source.android.com/devices/architecture/hidl-java/interfaces接口方法和错误本部分详细介绍了接口方法和错误。Void 方法不返回结果的方法将转换为返回void的 Java 方法。例如,HIDL 声明:doThisWith(float param);…会变为:void doThisW...翻译 2019-05-31 23:50:12 · 317 阅读 · 0 评论 -
Android HIDL - JAVA(2) - Data Types
https://source.android.com/devices/architecture/hidl-java/types数据类型给定一个 HIDL 接口文件,Java HIDL 后端会生成 Java 接口、存根和代理代码。它支持所有标量 HIDL 类型([u]int{8,16,32,64}_t, float, double,及enum),以及受支持 HIDL 类型的字符串、接口、...翻译 2019-05-31 23:48:35 · 468 阅读 · 0 评论 -
Android HIDL - JAVA(1) - Overview
https://source.android.com/devices/architecture/hidl-javaHIDL JavaAndroid O 对 Android 操作系统的架构重新进行了设计,以在独立于设备的 Android 平台与特定于设备和供应商的代码之间定义清晰的接口。 Android 已经以 HAL 接口的形式(在hardware/libhardware中定义为 C ...翻译 2019-05-31 23:44:11 · 631 阅读 · 0 评论 -
Android HIDL(13) - Code Style Guide
https://source.android.com/devices/architecture/hidl/code-style代码样式指南HIDL 代码样式类似于 Android 框架中的 C++ 代码,缩进 4 个空格,并且采用混用大小写的文件名。软件包声明、导入和文档字符串与 Java 中的类似,只有些微差别。下面针对IFoo.hal和types.hal的示例展示了 HID...翻译 2019-05-27 09:01:20 · 508 阅读 · 0 评论 -
Android HIDL(12) - Versioning
https://source.android.com/devices/architecture/hidl/versioning版本编号HIDL 要求每个使用 HIDL 编写的接口均必须带有版本编号。HAL 接口一经发布便会被冻结,如果要做任何进一步的更改,都只能在接口的新版本中进行。虽然无法对指定的已发布接口进行修改,但可通过其他接口对其进行扩展。HIDL 代码结构HIDL 代码按...翻译 2019-05-27 09:00:15 · 397 阅读 · 0 评论 -
Android HIDL(11) - Data Types
https://source.android.com/devices/architecture/hidl/types数据类型本部分介绍了 HIDL 数据类型。要了解实现详情,请参阅HIDL C++(如果是 C++ 实现)或HIDL Java(如果是 Java 实现)。与 C++ 的相似之处包括:structs使用 C++ 语法;unions默认支持 C++ 语法。结构体和联...翻译 2019-05-27 08:58:43 · 987 阅读 · 0 评论 -
Android HIDL(10) - Converting Modules
https://source.android.com/devices/architecture/hidl/converting转换 HAL 模块您可以通过转换hardware/libhardware/include/hardware中的标头将预装的 HAL 模块更新为 HIDL HAL 模块。使用 c2halc2hal工具可处理大部分转换工作,从而减少所需进行的手动更改次数。...翻译 2019-05-26 22:20:49 · 307 阅读 · 0 评论 -
Android HIDL(9) - Threading Models
https://source.android.com/devices/architecture/hidl/threading线程模型标记为oneway的方法不会阻塞。对于未标记为oneway的方法,在服务器完成执行任务或调用同步回调(以先发生者为准)之前,客户端的方法调用将一直处于阻塞状态。服务器方法实现最多可以调用一个同步回调;多出的回调调用会被舍弃并记录为错误。如果方法应通过回...翻译 2019-05-26 22:18:45 · 388 阅读 · 0 评论 -
Android HIDL(8) - Network Stack Configuration Tools
https://source.android.com/devices/architecture/hidl/network-stack网络堆栈配置工具Android 操作系统中包含标准的 Linux 网络实用程序,例如ifconfig、ip和ip6tables。这些实用程序位于系统映像中,并支持对整个 Linux 网络堆栈进行配置。在运行 Android 7.x 及更低版本的设备...翻译 2019-05-26 22:17:15 · 761 阅读 · 0 评论 -
Android HIDL(7) - Using Memory Block
https://source.android.com/devices/architecture/hidl/memoryblockHIDL 内存块HIDL MemoryBlock 是构建在hidl_memory、HIDL @1.0::IAllocator和HIDL @1.0::IMapper之上的抽象层,专为有多个内存块共用单个内存堆的 HIDL 服务而设计。性能提升在应用中...翻译 2019-05-26 22:15:07 · 991 阅读 · 0 评论 -
Android HIDL(6) - Using Binder IPC
https://source.android.com/devices/architecture/hidl/binder-ipc使用 Binder IPC本页介绍了 Android 8 中对 Binder 驱动程序进行的更改、提供了有关使用 Binder IPC 的详细信息,并列出了必需的 SELinux 政策。对 Binder 驱动程序进行的更改从 Android 8 开始,And...翻译 2019-05-26 22:05:44 · 407 阅读 · 0 评论 -
Android HIDL(5) - Fast Message Queue
https://source.android.com/devices/architecture/hidl/fmq快速消息队列 (FMQ)HIDL 的远程过程调用 (RPC) 基础架构使用 Binder 机制,这意味着调用涉及开销、需要内核操作,并且可以触发调度程序操作。不过,对于必须在开销较小且无内核参与的进程之间传输数据的情况,则使用快速消息队列 (FMQ) 系统。FMQ 会创建具有...翻译 2019-05-26 22:04:28 · 345 阅读 · 0 评论 -
Android HIDL(4) - Service & Data Transfer
https://source.android.com/devices/architecture/hidl/services服务和数据转移本部分介绍了如何注册和发现服务,以及如何通过调用.hal文件内的接口中定义的方法将数据发送到服务。注册服务HIDL 接口服务器(实现接口的对象)可注册为已命名的服务。注册的名称不需要与接口或软件包名称相关。如果没有指定名称,则使用名称“默认”;...翻译 2019-05-26 22:02:58 · 568 阅读 · 0 评论 -
Android HIDL(2) - interfaces and packages
https://source.android.com/devices/architecture/hidl/interfaces接口和软件包HIDL 是围绕接口进行编译的,接口是面向对象的语言使用的一种用来定义行为的抽象类型。每个接口都是软件包的一部分。软件包软件包名称可以具有子级,例如package.subpackage。已发布的 HIDL 软件包的根目录是hardware/i...翻译 2019-05-26 20:46:46 · 288 阅读 · 0 评论 -
Android HIDL(1) - Overview
https://source.android.com/devices/architecture/hidlHAL 接口定义语言(简称 HIDL,发音为“hide-l”)是用于指定 HAL 和其用户之间的接口的一种接口描述语言 (IDL)。HIDL 允许指定类型和方法调用(会汇集到接口和软件包中)。从更广泛的意义上来说,HIDL 是用于在可以独立编译的代码库之间进行通信的系统。HIDL 旨在用...翻译 2019-05-26 20:27:55 · 267 阅读 · 0 评论 -
Android HIDL - JAVA(4) - Exporting constant
https://source.android.com/devices/architecture/hidl-java/constants导出常量在接口不兼容 Java(例如由于使用联合类型而不兼容 Java)的情况下,可能仍需将常量(枚举值)导出到 Java 环境。这种情况需要用到hidl-gen -Ljava-constants …,它会将已添加注释的枚举声明从软件包的接口文件提取出来,...翻译 2019-05-31 23:51:46 · 309 阅读 · 0 评论