Android ROM适配基础

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/aliankg/article/details/52127411
Android ROM适配大体上可以分成两部分:硬件跨平台适配和UI适配。

(1)硬件跨平台适配
如果ROM从A设备适配到B设备,A、B硬件平台不同,譬如A属于高通平台,B属于MTK或者英特尔平台。每个平台的底层驱动不同,一些关键的系统API也可能不同。如果不进行底层适配,轻则无法开机或者开机后关键功能无法使用(譬如wifi、通话、3G/4G上网、摄像头等),重则刷机都无法完成。硬件适配有两种方向,一种是以ROM为中心,硬件向ROM适配;另一种是以硬件为中心,ROM向硬件适配。
第一种是指硬件平台将本身独特的东西集成到ROM中,比如驱动、比如Telephony等垂直架构中特有的API。这些改动可能会跨越从底层到上层。这种情况一般适用于当Android有大的版本升级的时候,各设备厂商对于Android的跟随性适配。
第二种是指ROM将自身的改动适配到硬件平台的BSP中。BSP(Board Support Package)原本是指板级支持包,即介于主板硬件和操作系统驱动层之间的一层。因为Android是一套完整的开源操作系统解决方案,现在BSP也用来指硬件平台厂商(譬如高通、MTK)或设备厂商(譬如魅族、华为)对于某一版本的Android适配完成后的整套代码,即可以正常开机使用的版本。这里的BSP指后一种含义。将ROM适配到BSP中,即将ROM中特有的改动移植到BSP中。这种情况一般适用于第三方ROM厂商对于设备厂商的适配。
因为都是基于Android的二次开发,使得上述两种适配方向都有可行性。

(2)UI适配
设备之间屏幕差异很大,分辨率、长宽比、dpi都可能不同,此外,可能较小的屏幕不需要支持横屏模式,较大的屏幕需要。所以当(1)完成之后,设备的基本功能调通后,就要开始完善UI了。虽然理论上Android在App层面上通过资源拆分管理可以在同一个App代码中完成对所有屏幕的支持,但现实情况是ROM一般只会对已经出货的机型的屏幕适配好,其他的屏幕没有动力去做,也没有条件去测试。所以一般需要对适配的设备所有系统UI界面进行审查,评估是否需要重新设计Layout和视觉切图资源,之后逐个系统App完成改造。

2016.8.5
展开阅读全文

没有更多推荐了,返回首页