1. Android Project Treble

与iOS相比,安卓系统有一个致命弱点,那就是新版本系统升级太慢,除了谷歌Nexus和Pixel等亲儿子机型,其他OEM商的机型更新新系统需要用户漫长的等待,这也造成了安卓平台的碎片化问题。谷歌一直在努力解决这一问题,但却一直见不到成效。在2017年Google I/O大会前,搜索巨人又出手了,它们推出了Project Treble,试图从Android O开始让系统升级变的更简单、更迅速,同时为OEM商节省更多资金。

Project Treble的点子来源于安卓兼容性测试(CTS),在CTS的框架下,开发者无需针对特定机型进行调整就能写出安卓设备通用的应用。

在Project Treble的全新模块化体系下,谷歌直接将由芯片制造商用于控制底层程序的“Vendor Implementation(VI)”接口和整体的安卓框架分离。

这样一来,新的供应商接口就可以通过供应商测试套件进行验证了,该套件与前面提到的CTS类似,可以确保VI接口的前向兼容性。而在Project Treble之前,每次有新系统,厂商就必须升级大量安卓代码,现在OEM商则可以直接跳过芯片供应商这一关了。

在新的框架下,OEM商可以选择直接将新版系统推送给用户,整个过程只是升级安卓架构那么简单。

2.  Android N和Android O image 组成

1)模块化,谷歌、SoC供应商、OEM 各自的负责的内容分开。

2)供应商模块被移动到独立的映像中,从而加快软件升级及发布的过程。

3) 供应商和OEM模块从系统映像中分离出来,HAL 层进行了重构,kerenl 4.9 后kernel 模块化(SDM485 支持新的kernel)

3 支持Android O 的平台

4 Android O兼容性 变化

5. OTA 编译方式推荐

打上禁用系统/供应商 image 分开的补丁

6 Image 分离

在Project Terble 中,原 系统Image 分成 系统Image 和 Vendor Iamge.

配置好编译的 Android makefiles 变量,确保Vendor编译成独立的Image:

模块属性变量

LOCAL_MODULE_OWNER:= <vendor name> 

LOCAL_PROPRIETARY_MODULE := true 

LOCAL_MODULE_PATH:= $(TARGET_OUT_VENDOR) # for /vendor/<file> 

LOCAL_MODULE_PATH:= $(TARGET_OUT_VENDOR_APPS) 

LOCAL_MODULE_PATH:= $(TARGET_OUT_VENDOR_ETC) 

LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) 

LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib 

LOCAL_MODULE_PATH_64:= $(TARGET_OUT_VENDOR)/lib64 

所有供应商二进制文件必须写到 /data/vendor 下(非/vendor下)

包括 vendor HALs, proprietary daemons 和command

Vendor Image 执行时不允许直接调用System image 的函数。

 7 HAL 重构

 O 以前HAL接口声明在C和C++头文件定义。在O中,这些声明在HAL中用HIDL重写

8 Binderized vs. Non-Binderized HIDL HAL




android ROM ---(1)高通平台 Android O 升级学习相关推荐

  1. 高通平台android开发总结

    http://www.cnblogs.com/yuzaipiaofei/archive/2012/07/24/4124179.html 1.高通平台android开发总结 1.1 搭建高通平台环境开发 ...

  2. 高通平台android 环境配置编译及开发经验总结

    完全转自:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通 ...

  3. 高通平台android开发总结 .

    http://blog.csdn.net/mirkerson/article/details/7691029 http://blog.csdn.net/mirkerson/article/detail ...

  4. 高通平台android 环境配置编译及开发经验总结【转】

    1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通开发板上烧录文件系统 建立高通平台开发环境 高通平台,android和 modem 编译流程分析 高通平台 7620 启动流 ...

  5. 高通android开源代码下载,高通平台Android源码bootloader分析之sbl1(三)

    前两篇博文分析了启动流程.代码流程.cdt,接下来就分析另外几个需要格外关注的部分. ##log系统 sbl1中的log系统也是sbl1部分调试会经常接触得部分高通平台在sbl中做的log系统并不是很 ...

  6. 高通平台android开发总结 MSM平台上的AMSS

    http://blog.csdn.net/mirkerson/article/details/7691029 MSM平台上的AMSS REX启动分析--基于Qualcomm平台 1.高通平台andro ...

  7. 高通平台 android 12 定时开关机

    高通平台 android 12 定时开关机 关机 关机实现 开机实现 总结 关机 AlarmManager取消了RTC_POWEROFF_WAKEUP 不支持通过AlarmManager设置关机唤醒设 ...

  8. android lcd调试 高通平台lcd调试深入分析总结(mipi和rgb接口)

    各位网友:最近发现我这篇文章转载的到处都是,有的则以原创存在,转载时请注明出处,还有文中错误的地方请指正!谢谢合作. 一:点亮lcd in kernel 其实点亮lcd很简单必须保证以后几个步骤正确: ...

  9. 高通平台Android源码bootloader分析之sbl1(一)

    高通8k平台的boot过程搞得比较复杂, 我也是前段时间遇到一些问题深入研究了一下才搞明白.不过虽然弄得很复杂,我们需要动的东西其实很少,modem侧基本就sbl1(全称:Secondary boot ...

最新文章

  1. 十种工具审核网络安全
  2. (012) java后台开发之Apache与Tomcat有什么关系和区别
  3. ROS知识: vanilla(香草) CMakeLists.txt 的语法
  4. boost::filesystem模块实现打印boost配置信息的测试程序
  5. Django - 中间件
  6. 当不同公司的产品经理在一块聊天,会聊什么?
  7. windows服务器性能监控工具、方法及关键指标
  8. UG模具设计从入门到精通
  9. 中职学校计算机课程标准,中等职业学校课程标准发布
  10. MySQL修改数据表中的字段名_MySQL修改数据表中的字段名
  11. 水星路由器登录界面找不到服务器,新版水星(Mercurey)路由器后台登陆界面打不开怎么办?...
  12. android 支付宝参数说明,android 支付宝 接入流程总结
  13. Merkle tree proof
  14. 拿到阿里50K offer的数据分析师,都是什么水平?
  15. php提交道不同,【后端开发】php引用和拷贝的区别
  16. EasyRecovery14个人版电脑数据恢复软件支持Win/Mac
  17. 《计算机组成原理》— 指令系统
  18. 本地代码推到远程仓库——gitee
  19. 常用的9种数据分析方法
  20. 关于电脑磁盘消失的解决方法

热门文章

  1. A/D转换器(华中师范)
  2. 计算机学情分析,中职学生的学情分析 《计算机专业》.doc
  3. PHP生产一个验证码图片,PHP使用GD库生成验证码图片,实现图片验证
  4. 《深入理解 Spring Cloud 与微服务构建》第二章 微服务应该具备的功能
  5. MyBatis-Plus工具快速入门使用
  6. JQzoom的一些问题
  7. 处理table 超出部分滚动问题
  8. pandas.DataFrame的pivot()和unstack()实现行转列
  9. AJAX04 JQ的AJAX
  10. 每天CookBook之Python-037