Android_Go是一个专为入门手机设计的Android版本,对当前的Android系统进行简化,使其可以在1GB甚至更小内存的手机上运行。采用Go版本的手机是为了主打低端市场。
Android_Go对应的手机内存很小,因此不能够集成通用版本的GMS包,为此,谷歌为Android_Go单独定制了瘦身版的GMS包,去掉了GMS包内很多应用的部分功能,大大的减少了Go版本GMS应用的大小,但不影响正常使用,Android_Go定制的GMS包需要在MADA的基础上再单独和谷歌签订Android_Go的协议,谷歌才会开放对应的GMS包。
Android_Go的GMS包集成比较简单,修改一下几步即可:
1.将gms包解压后放到vendor目录下,路径可以自行修改,只要将vendor下面的GMS包中products目录下gms_go.mk文件中的ANDROID_PARTNER_GMS_HOME属性定义和文件目录改为一致即可。比如我的GMS路径为vendor\google\partner_gms\,将对应属性改为ANDROID_PARTNER_GMS_HOME := vendor/google/partner_gms。
2.在build/make/target/product/generic_no_telephony.mk文件中添加以下内容
......
$(call inherit-product, $(SRC_TARGET_DIR)/product/core.mk)
+ $(call inherit-product, vendor/google/partner_gms/products/gms_go.mk) # 添加这一句 ,文件路径注意保持一致
......
注:8.0以后build目录下的文件编译方式改为了软连接的形式,编译的时候会将build/target/和build/tools/目录下的文件软链接到make目录下,执行的是make目录下的文件。因此代码修改中尽量不要去修改build目录下的代码,修改make目录下的文件进行覆盖即可。
3.在build/make/tools/buildinfo.sh最后加入以下内容,过GMS认证时需将后面的android-google改为公司的client-ID名称
......
+ echo "ro.com.google.clientidbase.am=android-google"
+ echo "ro.com.google.clientidbase.gmm=android-google"
+ echo "ro.com.google.clientidbase.ms=android-google"
+ echo "ro.com.google.clientidbase.yt=android-google"
+ echo "ro.com.google.clientidbase=android-google"
+
echo "# end build properties"
......
4.在vendor/google/partner_gms/products/gms_go.mk中进行删减要预置的应用
参考文章:http://blog.csdn.net/ctyjqcq/article/details/50068301