zoukankan      html  css  js  c++  java
  • Google GMS介绍

    Google GMS介绍
    GMS全称为GoogleMobile Service。GMS目前提供有Search、Search by Voice、Gmail、Contact Sync、Calendar Sync、Talk、Maps、Street View、YouTube、Play store等apk和服务。

    google为了确保全世界的硬件厂商设计和生产的安卓为基础的各种智能硬件产品的兼容性、稳定性,以及这些硬件与安卓各种自带的软件 APP 产品和服务的兼容性、稳定性,从7.0开始强制所有产品要进行Google GMS 认证,而且需要与签定MADA、AFA等一系列协议才能拿到GMS软件包,产品软硬件测试 由 3PL 执行。下面介绍下GMS包(以9.0为例,其他版本类似)中的内容以及编译方法。

    从 Google 拿到的 GMS 包解压缩之后可以取得一个 partner_gms 的文件夹,里面放有所有的Google apps、Services 和参数配置,主要分为四类,五个文件夹:
    1、apps/和apps_go两个目录放置所有 Google 的 apk,包含应用和服务类,apps是正常版本、apps_go是低内存的android go版本,编译时在脚本选择对应的版本。
    2、etc-放置 Google 应用和服务类的系统配置。
    3、frameworks放置 Google 应用和服务类的系统配置与 jar 库。
    4、products放置编译配置与 Google 应用和服务类的系统配置。

    GMS 编译配置说明:GMS 的编译配置取决于 GMS 包 partner_gms/products 下的 gms_xx.mk。mk文件中内容简单说明如下:
    1、# GMS home folder location
    定义ANDROID_PARTNER_GMS_HOME := vendor/partner_gms,这表示此段定义 GMS HOME 路径,随意更改可能会造成编译失败等问题,不建议去修改。

    2、#GMS mandatory core packages
    此为必要核心套件, 不建议删除任何一项目, 否则可能会导致无法预期的报错或是Google 认证失败。

    3、GMS mandatory libraries
    Gms 相关库预置,不可删除。

    4、# Overlay for GMS devices
    $(call inherit-product, device/sample/products/backup_overlay.mk)
    不可删除, 否则可能会造成 backup 等备份相关问题发生, 以及备份帐号中无法选择 google帐号等。

    $(call inherit-product, device/sample/products/location_overlay.mk)
    不可删除, 否则可能会造成 map, smartlock 等定位发生问题。

    PRODUCT_PACKAGE_OVERLAYS +=
    $(ANDROID_PARTNER_GMS_HOME)/products/assistant_gsa_overlay
    $(ANDROID_PARTNER_GMS_HOME)/products/gms_overlay
    不可删除, 主要使样机具有 Factory reset protection 等功能

    # Overlay for GoogleDialer
    预置 GoogleDialer 时不可删除

    # Configuration files for GMS apps
    Gms 相关配置参数, 包含两类, 其中一类为默认应用的各种标准设置, 另外一类为部分Gms 应用可以获取的相关权限, 不建议删除任何一项目, 否则可能会导致无法预期的错误。

    # GMS mandatory application packages
    此段为必要的核心应用, CTS送测时不建议删除任何一项目, 否则 Google 认证会不过,注意 go 和非 go 的不同要求。

    # GMS comms suite
    Message 配置。

    # GMS optional application packages
    预置的 GMS 可选应用,可根据需求删减。

    # Overlay for SearchLauncherQuickStep
    SearchLauncherQuickStep ovlay的内容。

    # GMS sample application packages
    带gms的桌面布局demo代码。

    # Overrides
    PRODUCT_SYSTEM_DEFAULT_PROPERTIES +=
    GMS 基本 系统属性设定不可删, 相关属性值也不建议修改。

    编译:在项目的.mk文件中加入如下语句就可以编译带gms的升级包:
    非go版本:$(call inherit-product-if-exists, vendor/partner_gms/products/gms.mk)
    go版本:$(call inherit-product-if-exists, vendor/partner_gms/products/gms_go.mk)

  • 相关阅读:
    golang删除数组某个元素
    golang用通道实现信号量,控制并发个数
    什么是ScaleIO中的forwards rebuild和backwards rebuild?
    SQL Server中的database checkpoint
    如何将thick provision lazy zeroed的VMDK文件转换为thick provision eager zeroed?
    LoadTestAgentResultsLateException in VS2010
    SQL Server Instance无法启动了, 因为TempDB所在的分区没有了, 怎么办?
    VMware vCenter中, 如何辩认虚机上Raw Device Mapping过了的一块物理磁盘?
    SQL Server AlwaysOn Setup Step-By-Step Guide
    TPC-E在populate测试Database时需要注意的一些事项
  • 原文地址:https://www.cnblogs.com/cyqx/p/11718144.html
Copyright © 2011-2022 走看看