棉花糖已经在大多数Nexus设备上崭露头角,但是我们还没有看到任何第三方OEM将其手机更新为棉花糖。他们如何将Marshmallow的新功能准确地集成到其特定口味的Android中?很难肯定地说,但是由于有了兼容性定义文档(CDD),我们可以确保OEM不会偏离Android 6.0新功能的实现。
正确烤棉花糖
对于每个新版本的Android,Google都会更新其兼容性准则以确保所有新主要功能的用户体验一致。从用户的角度来看,OEM必须遵守兼容性准则,以使他们喜欢的应用程序在所有设备上保持一致的工作至关重要。同样,如果每台设备在任何给定的Android版本上均能一致运行,则开发人员无需花费太多精力即可定位到多个设备。最后,原始设备制造商将从生态系统的增长中受益,因为如果更多的开发人员可以证明他们的设备开发是合理的,那么更多的用户可以证明他们购买设备的合理性。这对各方来说都是双赢的局面,要求任何制造Android设备的制造商遵守其兼容性准则对Google来说是最大的利益。
他们是如何做到的?好吧,通过控制谁获得使用Google移动服务(GMS)的许可,该许可由Google的专有应用程序组成。想要获得GMS许可证的OEM必须遵守兼容性定义文档中列出的所有要求,并通过兼容性测试套件。如果无法访问Google Play商店等应用程序,那么当竞争如此激烈时,OEM很难说服人们对其生态系统进行投资。
还记得 Ouya Android游戏机吗? 其失败的很大一部分可能与缺乏应用程序有关。Ouya只是无法说服足够多的开发人员,当他们可以继续瞄准利润丰厚的Google Play商店时,值得投入资源来移植游戏。推出后几周,Ouya 透露了其“适度”的销售 数据。经过数月未能成功渗透市场的尝试,Ouya 最终被收购 并最终 于6月被Razer收购。
乌亚(Ouya)而是试图向中国市场销售,在那里谷歌一直在与官僚作斗争以使其服务被该国接受。考虑到Google最近在Android TV上的推动,时机也不错 。
本质上,OEM依靠Google授予他们运行Google Apps的许可,以便与其他Android设备竞争。这使Google牢牢把握了Android生态系统,并确保OEM不会偏离每个新Android版本的每个基本功能。即使是向Tizen投入巨资的强大三星, 也似乎无法摆脱 Android的统治地位。
话虽如此,让我们深入研究Android棉花糖的兼容性定义文档。它绝对包含 了有用的信息。非常感谢AndroidPolice团队深入研究并找到了其中的一些,我将仅用来总结最相关的部分。
Android Auto…动机?Google放弃了对未来的提示
首先,从第2.0节中定义的“设备类型”中获得一些有趣的信息。
Android Automotive实施是指将Android作为系统的一部分或全部和/或信息娱乐功能的操作系统运行的车辆主机。Android Automotive实现:
必须声明功能android.hardware.type.automotive。
必须支持uiMode = UI_MODE_TYPE_CAR
您可能会读到这,然后想:“有什么大不了的?我们是否不了解Android Auto?” 您是对的,我们对已经发布的Android Auto了解很多 。但是,Android Auto只是任何人都可以下载的应用程序 。 Google在这里指的是全新的东西,它指的是实际上运行完整版Android的车内智能设备 。 许多2016年的汽车模型 已经运行Android Auto,因此谁知道用完整版本的Android OS交付汽车将花费多长时间。
通过CDD搜索,我们可以找到其他有关Android Automotive的参考,并拼凑Google如何使平台发挥作用。
例如,在描述浏览器兼容性的第3.4.2节中,列出了Android Automotive设备作为要求Android设备随附独立网络浏览器的规则的例外。考虑到用户在汽车中上网的潜在安全后果,这是有道理的。
根据第3.10节的规定,强烈建议Android Automotive设备包含与常规Android一致的辅助功能设置。这样做可能是为了让消费者启用“话语提示”功能(无论如何,我想大多数汽车制造商都会大力强调此功能)。第3.11节“文本语音”通过要求Android文本语音转换(TTS)的支持,进一步证实了这一概念。
接下来,在第5.1.3节“视频编解码器”中,我们看到Google强烈建议任何Android Automotive设备支持h265高效视频编解码器(HEVC)。这很有趣,因为这表明Google希望将Android Automotive设备用作 视频消费设备。 带着孩子的父母一定会发现观看付费视频的能力。
Android“自动”
)
Google在第7.1.5节中指出,Android Automotive设备是唯一不需要支持旧版兼容模式的设备,这意味着将不支持任何不依赖屏幕密度而设计的应用程序。您可以想像任何在乘车时试图处理缩放比例差的应用程序的乘客都会感到沮丧。
如第7.2.1节所述,不需要Android Automotive设备实现软键盘。考虑到大多数人希望通过触摸或语音来导航这样的设备,这并不奇怪。
在第7.2.3节“导航键”下,Google声明不需要“最近”键和“后退”键,而“主页”键则是必需的。您不太可能经常在设备上浏览,因此我认为Google明智的做法是不强迫OEM厂商围绕这两个键来设计其UI。
如第11节中所述,不需要Android Automotive支持OTA更新。由于Android Automotive设备只能在汽车开启时进行更新,因此不需要OTA支持是有道理的。并不是您可以在汽车更新时将汽车插入床头柜的基座上!