基础知识:
1.Android Automtive OS(AAOS)是一款基于Android的车载信息娱乐系统。
2.首先 编译手机与汽车实际上用的同一套代码库,只不过我们在编译的时候做出了选择。
3.模块---》域 EEA : 电子电气架构:模块就叫域;
4.组件 五大组件-》三大组件-》融合在一起;
一个组件可能就会有多个操作系统;汽车有很多操作系统。
模块不同的域搭载不同的系统
车载系统:Android(娱乐信息)+QNX(仪表)+rtos(实时)
android系统 语音数据 (解析 指令)-》车控操作系统
socket (套接字,建立TCP/IP连接)
A系统(数据格式?序列化?) = 》 B系统
应用协议:
汽车里面完成应用层协议通信有很多
1.someip:宝马 车载 vsomeip被收录到autosar
2.dds:西班牙 软件公司 可以基于tcp也可以基于udp来实现
用户级进程 pid=1,init
service 进程名 程序地址 -xxxxxx
配置
class core:类型(组别)核心 ;在这的核心类就会被重新拉起
配好
windows 启动项目 满足 有service 进程
windows计划任务 满足 因为会配核心类
例子:service 腾讯QQ ....\QQSclauncher.exe
-xmx -xms
通信:socket 敏感操作
为了让它通信 要赋予一定的权限 涉及到安卓的权限管理机制,底层会采用俩种机制共同进行权限管理:
**1.DAC机制:**熟悉 app权限管理建立的基石
group:组 用户组
用户 与 用户组可以用来权限管理;叫做自主访问控制机制 也称为DAC机制;
**2. app的沙盒机制:**利用uid,每一个app安装
platform.xml:是一个app权限与用户组的映射关系
在platform.xml:中 <permisson name="android.permission.BLUETOOTH"> <group gid="net_bt"> </permisson>
在AndroidMainfest.xml:中增加了 BLUETOOTH(蓝牙权限) :
<uses-persion android:name="android.permission.BLUETOOTH">
然后在android_filesystem_conflg.h中找到 net_bt中对应的3002
运行 在 packages.list中找到了对应的3002。
none 0 1 1 @null:
3003:用户组 具有网络通信权限的用户组 id
名称 root
id 0
**MAC机制:**强制访问控制机制
MAC:配置文件。如果写了不允许访问A文件那么无法访问,即使你自己配置了用户可以访问也不行。是强制的。
SeLinux 变种-》SeAndroid