GMS基础知识

今天突发奇想,想写一篇自己在学习之余总结的一些资料,是关于GMS的一篇文章。博主也是一次偶然的机会,在long long ago从最开始开发国内手机的rom包,到开发海外项目rom包的过程中认识到了GMS。那么什么是GMS呢?

GMS全称为Google Mobile Service,即谷歌移动服务。GMS是Google开发并推动Android的动力,是Google提供的Mobile Device上的一系列应用服务。

1、目前提供的服务包括Play Store, Gmail, YouTube, Chrome, Hangouts, Google+, Google Maps等。

2、如果需要在Device上预置GMS应用,需要通过Google的认证,包括CTS、GTS测试以及Google自身的商务考量。

3、谷歌GMS服务包括了搜索类、邮件服务类、联系人日历同步类、社交聊天类、地图导航类以及应用下载。可以说囊括了我们日常在手机上使用的几乎所有服务。由此可见,谷歌GMS服务是Android智能手机的核心。

4、虽然现在有大量的应用,具备GMS服务的功能,但作为谷歌原生的移动应用服务,GMS预置的服务具有稳定性好、兼容性好以及更新及时的主要特点。
简述一个小插曲,上面说到我在定制国内手机系统的时候为什么没有用到呢?那还不是因为我们的国内不支持Google服务?相信大家知道Google已经在前些年已经被请出国内的市场了吧,所以我就不多说了。下面说点开心点的事情。
关于GMS的核心应用包括如下:

这里写图片描述

如何获取GMS

▪ MediaTek无法release任何GMS组件,请勿向敝司申请GMS包。

▪ GMS包必须是由厂商和Google签订协议才能获取。

▪ 必须通过GMS认证。

这里写图片描述

* 如何预置GMS请参考如下:*
L版本(说明一下:新版本Android L系统中L来自5.0的版本代号“Lollipop”(棒棒糖)。简称L)
GMS预置:
L版本GMS预置比较简单,只需要把GMS需要预置内容放置在
alps/vendor/google/
文件夹下(google文件夹需要自行创建)

然后检查vendor/google/下是否存在Android.mk文件,若没有此Android.mk,请新建一个,并把以下内容拷贝进去:
ifdef BUILD_GMS
ifeq ( (strip (BUILD_GMS)), yes)
include $(call all-subdir-makefiles)
endif
endif

同时再检查vendor/google/以下两个文件夹
apps/ 和 frameworks/
第一层目录下是否存在Android.mk
如果不存在,也各新建一个,将以下内容拷贝进去:
include $(call all-subdir-makefiles)

最后在build的时候带入”BUILD_GMS=yes”,如:
source build/envsetup.sh && lunch full_-user && source ./mbldenv.sh && BUILD_GMS=yes make -j24

若提示找不到mbldenv.sh,则使用如下命令:
source build/envsetup.sh && lunch full_-user && BUILD_GMS=yes make -j24

注意,源代码的build文件中会有判断 BUILD_GMS 的值做不同build行为的语句,请不要修改,否则会造成GMS预置冲突或者预置不完整问题


KK版本 (Android 4.4 KitKat,简称:KK)
GMS预置

1.打开GMS编译开关
/mediatek/config/common/ProjectConfig.mk
BUILD_GMS = yes

2.修改GMS预置条件
/build/target/product/common.mk,将以下内容(如果有出入,请以修改后为标准):

–GMS feature—–

ifeq ( (strip (BUILD_GMS)), yes)
$(call inherit-product-if-exists, vendor/google/products/gms.mk)
PRODUCT_PROPERTY_OVERRIDES += \

ORIGINAL //ALPS_SW/FPB/KK1.MP1.FPB/alps/build/target/product/common.mk#1
==== THEIRS //ALPS_SW/FPB/KK1.MP1.FPB/alps/build/target/product/common.mk#8
ro.com.google.clientidbase=alps- (TARGETPRODUCT)country ro.com.google.clientidbase.ms=alps (TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.yt=alps- (TARGETPRODUCT)country ro.com.google.clientidbase.am=alps (TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.gmm=alps- (TARGETPRODUCT)country====YOURS//wswcpadmin3010bj/ALPSSW/MP/KK1.MP1/alps/build/target/product/common.mkro.com.google.client

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值