【Android Camera开发】Android Automotive介绍
什么是Android Automotive
Android Automotive 是一个基本 Android 平台车载信息娱乐系统,简称IVI(In-Vehicle Infotainment)。
Android Automotive OS 简称 AAOS,是扩展自 Android OS 的操作系统、直接基于车载硬件运行。和 Android 一样是一个可定制程度非常高的全栈开源平台。
Android Automotive 就是 Android 平台。
Android Automotive 和 Android
Android Automotive 并非 Android 的分支或并行开发版本。
Android Automotive 扩展了 Android 平台。
Android Automotive 和 Android Auto
Auto 和 Automotive 的命名比较相似,貌似分不清楚,实则区别非常明显。
** Android Auto 不是 OS。**
它是集成在 Android OS 里的 feature。
当通过 USB、Wi-Fi 将 Android Phone 连接到支持 Android Auto 的车机上后,Android OS 将自动加载支持 Auto 模式下的 App 并将图像投屏到车机屏幕上。
跟 CarPlay 一样,其本质上是投屏。Phone 提供计算、渲染,车机只是 Display,Display 和按键回传 Input 的事件,Phone 处理好之后将新的帧数据回传进行 Display。
而 Android Automotive 是 OS,其归属于 AOSP 项目,代码也在 Android OS 之中。在编译的时候选择 automotive 的编译 target 即可生成车载机使用的 AAOS。
Android Automotive 架构
Android Automative是在原先Android的系统架构上增加了一些与车相关的模块。
** Car App:包括OEM和第三方开发的App **
** Car API:提供给汽车App特有的接口**
** Car Service:系统中与车相关的服务**
** Vehicle Network Service:汽车的网络服务**
** Vehicle HAL:汽车的硬件抽象层描述**
Car App
包括 OEM厂商和第三方的apk(android/packages/services/Car)
Car ApI
提供给汽车app特有的接口。
这些API是提供给Android automotive系统的app,对于其他平台(例如手机和平板)通常是没有意义的,所以这些API没有包含在Android Framework SDK中。
代码路径:/packages/services/Car/car-lib/src/android/car/
上图只是展示了部分:
下面介绍一下关键的接口:
接口 | 解释 |
---|---|
car.java | 包含了与车相关的基本API。例如:车辆后视镜,门,座位,窗口等。 |
app →menu | 车辆应用菜单相关API。 |
cluster | 仪表盘相关API。 |
media | 多媒体相关API。 |
hardware | 车辆硬件相关API。 |
navigation | 导航相关API。 |
settings | 设置相关API。 |
Car Services
Car Service并非一个服务,而是一系列的服务。
Car Service集中在一个App中。可以想象,这个App需要非常高的权限,所以这是一个系统App。
这些服务都在ICarImpl.java构造函数中列了出来: /packages/services/Car/service/src/com/android/car/ICarImpl.java
Vehicle HAL
代码路径:hardware/interfaces/automotive/vehicle/2.0/
用于定义 OEM 可以实现的车辆属性的接口。
包含属性元数据(例如,车辆属性是否为 int 以及允许使用哪些更改模式)。
Vehicle HAL 支持 3 个级别的数据访问安全性:
- 仅限系统(由 vns_policy.xml 控制)
- 允许拥有权限的应用访问(通过汽车服务)
- 无需任何权限即可访问(通过汽车服务)
仅允许部分系统组件直接访问车辆属性,而车辆网络服务是把关程序。大多数应用需通过汽车服务的额外把关(例如,只有系统应用可以控制 HVAC,因为这需要仅授予系统应用的系统权限)。
主要来看一下EVS的相关框架:
EVS
EVS,(Extended View System,扩展视图系统),包括以下系统组件:
代码路径:
APP:packages/services/Car/evs/
HAL:hardware/interfaces/automotive/evs/1.0/
编译目标:system/bin/evs_app
运行在init进程中,所以支持快速倒车。
今天的学习就到这里了。_
Ps:
最近开始负责Evs相关的模块了,系统的学习下。
不负时光 不虚此生。
【Android Camera开发】Android Automotive介绍相关推荐
- Android camera(4)---Android Camera开发之基础知识篇
Android Camera开发之基础知识篇 转自:https://blog.csdn.net/feiduclear_up/article/details/51968975#jump5 概述 Andr ...
- Android 高级开发 JNI NDK 介绍与使用
Android 高级开发 JNI & NDK 介绍与使用 前言 对于没接触过的领域,即是挑战也是机遇,不仅能够提升自己的能力.还能够学习到新的技术知识 而学习新的技术的时候,最好是从头开始按照 ...
- Android Camera 开发常见专业术语名词解释
Android Camera 开发常见专业术语名词解释 参考网址:http://m.blog.csdn.net/king1425/article/details/62224468 相机常见专业术语名词 ...
- Android Camera开发(一)之基础知识
概述 Android手机关于Camera的使用,一是拍照,二是摄像,由于Android提供了强大的组件功能,为此对于在Android手机系统上进行Camera的开发,我们可以使用两类方法:一是借助In ...
- Android Camera开发系列(下)——自定义Camera实现拍照查看图片等功能
Android Camera开发系列(下)--自定义Camera实现拍照查看图片等功能 Android Camera开发系列(上)--Camera的基本调用与实现拍照功能以及获取拍照图片加载大图片 上 ...
- android修改用户名和密码错误,Android应用开发Android Studio 修改用户名、密码、URL等操作教程...
本文将带你了解Android应用开发Android Studio 修改用户名.密码.URL等操作教程,希望本文对大家学Android有所帮助. 修改用户名.密码: 在AndroidStudio的ter ...
- android studio1.2.6,1.2.2 使用Android Studio开发Android APP | 菜鸟教程
写在前面本节将介绍如何使用Android Studio开发Android APP,和前面Eclipse + ADT + SDK搭建Android开发环境一样,本节也只是介绍一些基本东西,深入的,比如快 ...
- android ble 设备扫描程序,Android应用开发Android 7.0 BLE scan 问题:程序无错但扫描不到BLE设备...
本文将带你了解Android应用开发Android 7.0 BLE scan 问题:程序无错但扫描不到BLE设备,希望本文对大家学Android有所帮助. < 最近在做毕设,需要几周内从头学起 ...
- android studio socket 失败,Android应用开发Android Studio建立Socket连接失败解决方法
本文将带你了解Android应用开发Android Studio建立Socket连接失败解决方法,希望本文对大家学Android有所帮助. < Android Studio建立Socket连接失 ...
- android落下动画,Android应用开发android 购物车小球掉落动画
本文将带你了解Android应用开发android 购物车小球掉落动画,希望本文对大家学Android有所帮助. 先贴效果图 对自定义View小红球的绘制 public class BallView ...
最新文章
- unity三维向量变化为角度_对于向量和矩阵的理解
- tushare写三因子模型
- 信息学奥赛一本通 1397:简单算术表达式求值 | OpenJudge NOI 1.12 01:简单算术表达式求值
- Android开发之蓝牙(Bluetooth)---源码目录
- 比特币现金和ICO 及其他6个加密在泰国获准交易
- iOS10 拍照崩溃问题
- modbus协议的常用测试工具
- 世界首个体细胞克隆猴在中国诞生;马云在达沃斯变魔术;阿里通信回应工信部约谈丨价值早报
- u检验中的查u界值表_统计学中,知道u值,如何确定P值,是通过查表吗
- 链接测试苹果手机软件,【苹果】苹果手机上如何使用免费观影软件?用TestFlight+某影视APP试试...
- 玉渊潭赏樱花有感:从无到有写一个jQuery开源插件
- HR问:“你为什么离开上一家公司?”,这样回答最机智
- 【STM32】OOK软解码
- Python zip zip_longest
- ui设计现状与意义_对于ui设计行业来说,用户界面设计的发展现状是什么?
- 第二章节 MongoDB的基本命令
- 打开Visual Studio Community 2017 报出“许可证已过期”
- 转:电容器的好坏测量
- 三极管应用电路---低通滤波电路
- 简直无敌!5年crud经验,全网独家首发!