android的system域解耦

news2024/10/6 4:14:30

google很早在为此做准备,要求所有设备能够刷GSI(通用系统镜像),并跑过XTS测试。

动态分区解耦方案如上图。

一、分区描述

  • 单一系统映像 (SSI)。包含system和system_ext图像的新概念图像。当这些分区对于一组目标设备是通用的时,这些设备可以共享 SSI 并跳过构建system和system_ext映像。

  • system_ext分区。可以使用system资源并且可以包含以下系统模块的新分区:

  • 在system分区中扩展 AOSP 系统模块。我们建议将此类模块上传到 AOSP,以便稍后将它们安装到system分区。

  • 捆绑 OEM 或 SoC 特定模块。我们建议取消捆绑此类模块,以便将它们安装到product或vendor分区。

  • system分区。用于 OEM 产品的通用系统映像。我们建议将专有模块移出system分区,方法是将它们上游到 AOSP 或将它们移到system_ext分区。

  • product分区。此分区现在可以使用允许的接口来安装未与任何其他分区捆绑的产品特定模块。

  • vendor & odm 分区。系统 (SoC) 供应商(vendor)与原始设计制造商 (ODM) 为其特定设备(他们的板)定制片上系统 (SoC) 供应商板支持包 (BSP)。这使他们能够为特定于板的组件、特定于板的守护进程或他们自己在硬件抽象层 (HAL) 上的功能实现内核模块。他们可能还想更换或定制 SoC 组件。

二、project treble架构

https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html

在Project Treble中,整体式 Android 分为两部分:特定于硬件的部分(供应商实现)和通用操作系统部分(Android 操作系统框架)。每个软件都安装在单独的分区中:硬件特定软件的供应商分区和通用操作系统软件的系统分区。一个称为供应商接口 ( VINTF ) 的版本化接口在两个分区中定义和实施。通过使用这个分区系统,您可以在不修改供应商分区的情况下修改系统分区,反之亦然。

三、镜像之间的接口

供应商和产品图像的两个主要接口围绕 SSI 存在:

  • 供应商接口 (VINTF) :VINTF 是驻留在供应商和 ODM 映像中的组件的接口。产品和系统镜像中的组件只能通过此接口与供应商和 ODM 镜像进行交互。例如,供应商映像不能依赖于系统映像的私有部分,反之亦然。这最初是在 Project Treble 中定义的,它将图像分成系统和供应商分区。使用以下机制描述接口:

  • HIDL (直通 HAL 仅适用于system和system_ext模块)

  • 稳定的AIDL

  • 配置

  • 系统属性 API

  • 配置文件架构 API

  • VNDK

  • Android SDK API

  • Java SDK 库

  • 产品界面:产品界面是SSI和产品图片之间的界面。定义一个稳定的接口可以将产品组件与 SSI 中的系统组件分离。产品接口需要与 VINTF 相同的稳定接口。但是,对于搭载 Android 11(及更高版本)的设备,仅强制执行 VNDK 和 Android SDK API。

四、android.bp参数定义

before enforcement代表之前所在域,after enforcement代表配置关键字之后可以所在域使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/173494.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二叉树(一)

先简单了解一下树的概念,从而进一步了解二叉树,最后进行代码测试。树概念及结构(了解)在认识而二叉树之前我们首先了解一下树的概念。树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。…

图扑喜获第十一届中国创新创业大赛全国赛优秀奖!

在近期结束的第十一届中国创新创业大赛全国赛(新一代信息技术)比赛中,图扑软件喜获成长组优秀奖。这是继“创客中国”创新创业大赛优胜奖荣誉后,再一次对图扑软件在新一代信息技术领域专业的认可!大赛围绕新一代信息技…

电机行业EDI案例分析

项目背景 J公司需要与国内某知名电机品牌Z公司建立EDI对接,J公司选择通过知行EDI系统与Z公司建立AS2连接,通过AS2接收Z公司发送过来的ORDERS(采购订单)和ORDCHG(采购订单变更),并根据发接收到的…

Linux常见命令 15 - 权限管理命令 chmod

1. chmod 语法 chmod为修改文件/文件夹权限,有以下两种操作,其中-R表示递归修改 chmod {ugoa} {-} {rwx} [文件或目录] -Rchmod [mode421] [文件或目录] -R 2. chmod {ugoa} {-} {rwx} [文件或目录] -R u:文件或目录的所有者,g…

C++设计模式(5)——观察者模式

观察者模式 亦称: 事件订阅者、监听者、Event-Subscriber、Listener、Observer 意图 观察者模式是一种行为设计模式, 允许你定义一种订阅机制, 可在对象事件发生时通知多个 “观察” 该对象的其他对象。 问题 假如你有两种类型的对象&a…

概论第6章_正态总体的抽样分布_卡方分布_F分布_t分布

一 卡方分布 定义 设X1,X2,...,XnX_1, X_2,..., X_nX1​,X2​,...,Xn​ 独立同分布于标准正态分布N(0, 1), 则χ2X12...Xn2\chi^2X_1^2 ... X_n^2χ2X12​...Xn2​的分布称为 自由度为 n 的χ2\chi^2χ2分布, 记为χ2\chi^2χ2 ~ χ2(n)\chi^2(n)χ2(n) χ2\chi…

Python爬虫序章---爬取csdn作者排行榜

上篇文章介绍了requests库获取数据的基本方法,本篇文章利用自动化测试工具selenium进行数据抓取,也会对代码部分进行详细解释,以便小伙伴们能够更加理解和上手。 一.selenium技术介绍 Selenium是最广泛使用的开源 Web UI(用户界面…

windows11远程连接Ubuntu桌面

如何通过Windows 11远程连接Ubuntu桌面 在日常开发过程中,很多时候是这样一种情形:一台装了Ubuntu系统的计算机作为远程服务器,开发人员则使用带Windows系统的计算机去连服务器进行开发。 连接服务器的方式有很多种,最简单的就是…

图扑软件荣获第十一届中国创新创业大赛全国赛优秀奖!

在近期结束的第十一届中国创新创业大赛全国赛(新一代信息技术)比赛中,图扑软件喜获成长组优秀奖。这是继“创客中国”创新创业大赛优胜奖荣誉后,再一次对图扑软件在新一代信息技术领域专业的认可!大赛围绕新一代信息技…

DW动手学数据分析Task4:数据可视化

目录1 了解matplotlib2 可视化图案3 matplotlib用法4 了解Seaborn1 了解matplotlib Matplotlib: 是 Python 的绘图库, 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 2 可视化图案 基本可视化团及场景使用 柱状图 场景&am…

如何实现机械臂的正解计算?

1. 机械臂运动学介绍 机械臂运动学 机器人运动学就是根据末端执行器与所选参考坐标系之间的几何关系,确定末端执行器的空间位置和姿态与各关节变量之间的数学关系。包括正运动学(Forward Kinematics)和逆运动学(Inverse Kinematic…

在线支付系列【3】支付安全之对称和非对称加密

有道无术,术尚可求,有术无道,止于术。 文章目录前言信息安全加密机制核心概念对称加密非对称加密JCE对称加解密1. 创建密钥2. 加密3. 解密非对称加解密1. 创建密钥2. 公钥加密3. 私钥解密前言 支付和金钱挂钩,支付安全显得尤为重…

域名被封的解决方案

如果您的域名被封,可能是域名下网站存在非法信息或敏感内容,导致被GFW屏蔽。 封禁原因及解决方案如下: 1. 域名解析的IP纳入黑名单 这种情况只需更换IP即可恢复正常,但换IP也只能解除一时的燃眉之急,一旦又被GFW发现很…

MySQL进阶——视图(view)

1. 视图 1.1 视图介绍 视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。 通俗的讲,视图只保存了查询的SQL逻辑&#xf…

MySQL详细教程,2023年硬核学习路线

文章目录前言1. 数据库的相关概念1.1 数据1.2 数据库1.3 数据库管理系统1.4 数据库系统1.5 SQL2. MySQL数据库2.1 MySQL安装2.2 MySQL配置2.2.1 添加环境变量2.2.2 新建配置文件2.2.3 初始化MySQL2.2.4 注册MySQL服务2.2.5 启动MySQL服务2.3 MySQL登录和退出2.4 MySQL卸载2.5 M…

【Python】如何为Matplotlib图像添加标签?

一、添加文本标签 plt.text() 用于在绘图过程中,在图像上指定坐标的位置添加文本。需要用到的是plt.text()方法。 其主要的参数有三个: plt.text(x, y, s)其中x、y表示传入点的x和y轴坐标。s表示字符串。 需要注意的是,这里的坐标&#x…

基于Springboot+Mybatis+mysql+vue电影院在线售票系统

基于SpringbootMybatismysqlvue电影院在线售票系统一、系统介绍二、所用技术三、功能展示1.主页(普通用户)2.影院管理员相关功能(影院管理员)3.系统管理权限(管理员)四、获取源码一、系统介绍 电影院网上售票系统拥有三种角色,用户、工作人员…

三星K2200复印机提示更换传输卷问题的简单处理

故障现象: 三星K2200复印机开机后提示更换传输卷; 故障分析与处理: 三星K2200复印机提示更换传输卷是转印带使用寿命到期,三星k2200复印件更换传输卷,是指转印带使用寿命到期了,需要更换传输卷。如果这台机器报传输卷一般是这台机器也有一条转印带,如果报这个看看上面…

C/C++数据结构(十一)—— 平衡二叉树(AVL树)

文章目录1. AVL树的概念2. AVL树的结点3. AVL树的插入🍑 更新平衡因子🍑 插入函数的实现4. AVL树的旋转🍑 左单旋🍑 右单旋🍑 左右双旋🍑 右左双旋🍑 总结6. AVL树的删除🍑 算法思想…

基于EasyExcel实现百万级数据导入导出

基于EasyExcel实现百万级数据导入导出 在项目开发中往往需要使用到数据的导入和导出,导入就是从Excel中导入到DB中,而导出就是从DB中查询数据然后使用POI写到Excel上。 大数据的导入和导出,相信大家在日常的开发、面试中都会遇到。 很多问题只要这一次…