GMS的概述

时间:2024-03-05 11:07:03

1 GMS

GMS全称为GoogleMobile Service,即谷歌移动服务。
GMS是Google所提供的一系列移动服务,包括开发用的一系列服务和用户所用的Google Apps。
Maps与Location:地理位置相关服务,AOSP也包括一个简易的Location服务,这是升级版,有用但并非必要,国内也有百度、高德等提供了类似的API;
Games、Play Services、In-app Billing、Play Distribution:与Google Play相关的服务,毫无疑问这个在国内是用不到的,但如果要在Google Play上发布应用,则非常有用;(GL和IN做大量测试的原因)
Google+、Drive、Cloud Platform、Cloud Messaging:与Google的社交网络和云平台相关的服务,前三个在国内也基本上用不到,第四个是推送服务对开发者非常有用,但国内有很多类似的第三方服务可替代;
Cast、Wallet、Ads:这里是Google推出的与Android平台关系不大的服务,Ads广告对开发者有用,但国内也有很多的移动广告平台和服务。
这些服务不是构建一个Android App所必需的,也可以使用其他的服务替代,因此,没有GMS对国内手机厂商影响没有想象那么大。(CN少测的原因)
Google Apps则包括Gmail、Google Maps等Google官方应用,这些系统应用对于一个完善的Android设备是很重要的,但是手机厂商也可以使用自己的或者第三方应用替代。
整个Android平台可以看成是:AOSP+GMS,AOSP(安卓开源项目)是所有手机厂商可以免费获得的开源代码,但GMS则需要Google同意授权才行。
Google给GMS认证设置了比较高的门槛。首先要通过CTS兼容性测试(Compatible Test Suite),一般而言所有的Android厂商都必须通过这个认证,否则会出现兼容性问题。这个认证一般由手机厂商自己做,然后提交结果给Google。
AOSP是工具,GMS则是服务

2 CTS

CTS是Compatibility Test Suite的缩写,即兼容测试,是Google为Android设备制造商免费提供的兼容性测试套件。

APP层跟Framework层在设计上是分开的,但通过CTS测试,确保了APP无Android Framework之间有一致的调用接口(API),这使得APP开发者编写的同一款程序可以运行在不同系统版本(向前兼容)、不同硬件平台、不同产商制造的不同设备上。

CTS定义了众多Android设备必须满足的技术指标,以确保每台通过CTS认证的设备,都可以顺利运行Google Play中出售的软件。(并不是每个软件都可以在所有Android设备上运行,Google Play仅显示可以运行在该Android设备上的应用,并且还受到当地法律法规的限制。)
CTS的目的就是让Android设备开发商能够开发出兼容性更好的Android设备。

3 GTS

GTS的全称是Google Mobile Services Test Suite,所谓的Google Mobile Services即谷歌移动服务
谷歌移动服务提供了Search、 Search by Voice、Gmail、Contact Sync、 Calendar Sync、Talk、 Maps、 Steet View、 YouTube、 Android Market (Play store)等服务,当用户使用谷歌时,谷歌可以把各种广告嵌入到谷歌的服务中。

4 VTS

Project Treble 中引入 Vendor Interface 的目的是将 Android Framework 与 HAL 分开,通过对Vendor Interface进行测试,确保同一个版本的Android Framework可以运行在不同的HAL上,或者Android Framework可以运行在同一个HAL,即保证HAL的向前兼容性。通过这样的Framework/HAL分离设计和接口一致性保证,这就使得8.0版本之后的Android系统在进行升级时,可以直接对Framework进行升级而不用考虑HAL层的改动,从而缩短了用户手上设备得到系统升级OTA推送的时间。

5 GSI

GSI是在VTS环境下用google img测试CTS用例

6 CTS-V

CTS Verifier是CTS兼容性测试的补充。CTS检查的是可以自动化的API和功能,而CTS Verifier是测试在没有手动输入的静态设备上测试这些API和功能,例如音频质量,触摸屏,加速度计,相机等等.

7 ITS

Android 相机图像测试套件 (ITS) 是 Android 兼容性测试套件 (CTS) 验证程序的一部分,其中包含用于验证图像内容的测试

scenes=sensor_fusion 中的测试来测试相机/陀螺仪的定时偏差以及多摄像头系统的帧同步。REALTIME 功能标记和 VR/AR 应用要求相机/陀螺仪的定时偏差小于 1 毫秒

ITS测试输出:

PASS:测试通过

FAIL:测试失败,必须修复

SKIP:跳过测试项

FAIL*:测试失败,目前可以不修复,但可能在未来的测试中变为强制性