KK GMS预置
来源:互联网 发布:欧树洁面凝胶知乎 编辑:程序博客网 时间:2024/04/29 22:50
KK GMS预置
[DESCRIPTION]
KK必须预置KK版本的GMS。由于KK GMS相对以前版本有部分修改,直接预置会导致编译问题。
如果您遇到KK GMS预置问题,请参照以下步骤修改预置
[SOLUTION]
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-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.ms=alps-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.yt=alps-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.am=alps-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.gmm=alps-$(TARGET_PRODUCT)-{country}
==== YOURS //ws_wcpadmin_3010_bj/ALPS_SW/MP/KK1.MP1/alps/build/target/product/common.mk
ro.com.google.clientidbase=alps-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.ms=alps-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.yt=alps-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.am=alps-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.gmm=alps-$(TARGET_PRODUCT)-{country}
<<<<
endif
修改为=>
#--GMS feature-----
ifeq ($(strip $(BUILD_GMS)), yes)
$(call inherit-product-if-exists, vendor/google/products/gms.mk)
PRODUCT_PROPERTY_OVERRIDES += \
ro.com.google.clientidbase=alps-$(TARGET_PRODUCT)-{country}
endif
ps: 以上内容(第2步骤)包含调用gms.mk,以及设置client id
如果贵司此项目不需要设置client id,请将其中的
PRODUCT_PROPERTY_OVERRIDES += \
ro.com.google.clientidbase=alps-$(TARGET_PRODUCT)-{country}
去掉;
如果需要预置,则将“alps-$(TARGET_PRODUCT)”修改为对应的client id值;
字段"-{country}"的作用是,根据插入的sim卡自适应显示对应的国家码,如果此项目不需要client
id根据mcc自适应,则将字段"-{country}"去掉即可
3. webview实现冲突解决方案
由于Google对GMS的WebView检测策略的改变,所以如果预置GMS必须预置其中的WebViewGoogle,这
样将会把默认的webview覆盖掉
具体预置操作方法请参考[FAQ11120] KK版本GMS包Chromium相关文件合入注意事项_FAQ
4. 如果预置以下所列GMS应用,需要给它们获取系统权限
ConfigUpdater.apk GmsCore.apk GoogleBackupTransport.apk GoogleFeedback.apk
GoogleLoginService.apk
GoogleOneTimeInitializer.apk GooglePartnerSetup.apk GoogleServicesFramework.apk
Phonesky.apk SetupWizard.apk Velvet.apk
请在/vendor/google/apps/Android.mk
每一个应用对应的build语句添加:
LOCAL_PRIVILEGED_MODULE := true
5. 如果预置GMS中的Videos.apk,则将/mediatek/packages/apps/VideoPlayer/Android.mk删除
6.lib库重命名
frameworks/support/renderscript/v8/rs_support/Android.mk: libRSSupport ->
libRSSupport_old (2 places)
frameworks/support/renderscript/v8/jni/Android.mk: librsjni -> librsjni_old and
libRSSupport -> libRSSupport_old (2 places)
libnativehelper/Android.mk: libnativehelper_compat -> libnativehelper_compat_old
ps: 第6步骤的修改,如果您发现在原生code中,这些库的修改已经包含在
ifeq ($(strip $(BUILD_GMS)), yes)
endif
中,可以不再修改
7. 由于兼容性问题,请不要预置GoogleCamera.apk和GalleryGoogle.apk:
7.1 将\google\libs\Android.mk中的以下内容注释掉:
include $(CLEAR_VARS)
LOCAL_PREBUILT_LIBS := libgcam.so \
libgcam_swig_jni.so \
libjni_eglfence.so \
libjni_filtershow_filters.so \
libjni_mosaic.so \
libjni_tinyplanet.so \
libjpeg.so \
liblightcycle.so \
libnativehelper_compat.so
LOCAL_MODULE_TAGS := optional
include $(BUILD_MULTI_PREBUILT)
7.2 将\google\apps\Android.mk中的以下内容注释掉:
include $(CLEAR_VARS)
LOCAL_MODULE := GoogleCamera
LOCAL_MODULE_TAGS := optional
LOCAL_OVERRIDES_PACKAGES := Camera2
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_REQUIRED_MODULES := libgcam \
libgcam_swig_jni \
libjni_eglfence \
libjni_filtershow_filters \
libjni_mosaic \
libjni_tinyplanet \
libjpeg \
liblightcycle \
libnativehelper_compat
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)
以及
include $(CLEAR_VARS)
LOCAL_MODULE := GalleryGoogle
LOCAL_MODULE_TAGS := optional
LOCAL_OVERRIDES_PACKAGES := Gallery2
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)
7.3 将\google\products\gms.mk
PRODUCT_PACKAGES += \下面的
# GoogleCamera \
# GalleryGoogle \
注释掉
ps: 以上内容(第7步骤)是把GoogleCamera、GalleryGoogle以及相关的lib库移除,如果贵司项目
需要预置这两个应用并且遇到编译问题,请提交e-Service,谢谢!
KK必须预置KK版本的GMS。由于KK GMS相对以前版本有部分修改,直接预置会导致编译问题。
如果您遇到KK GMS预置问题,请参照以下步骤修改预置
[SOLUTION]
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-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.ms=alps-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.yt=alps-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.am=alps-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.gmm=alps-$(TARGET_PRODUCT)-{country}
==== YOURS //ws_wcpadmin_3010_bj/ALPS_SW/MP/KK1.MP1/alps/build/target/product/common.mk
ro.com.google.clientidbase=alps-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.ms=alps-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.yt=alps-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.am=alps-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.gmm=alps-$(TARGET_PRODUCT)-{country}
<<<<
endif
修改为=>
#--GMS feature-----
ifeq ($(strip $(BUILD_GMS)), yes)
$(call inherit-product-if-exists, vendor/google/products/gms.mk)
PRODUCT_PROPERTY_OVERRIDES += \
ro.com.google.clientidbase=alps-$(TARGET_PRODUCT)-{country}
endif
ps: 以上内容(第2步骤)包含调用gms.mk,以及设置client id
如果贵司此项目不需要设置client id,请将其中的
PRODUCT_PROPERTY_OVERRIDES += \
ro.com.google.clientidbase=alps-$(TARGET_PRODUCT)-{country}
去掉;
如果需要预置,则将“alps-$(TARGET_PRODUCT)”修改为对应的client id值;
字段"-{country}"的作用是,根据插入的sim卡自适应显示对应的国家码,如果此项目不需要client
id根据mcc自适应,则将字段"-{country}"去掉即可
3. webview实现冲突解决方案
由于Google对GMS的WebView检测策略的改变,所以如果预置GMS必须预置其中的WebViewGoogle,这
样将会把默认的webview覆盖掉
具体预置操作方法请参考[FAQ11120] KK版本GMS包Chromium相关文件合入注意事项_FAQ
4. 如果预置以下所列GMS应用,需要给它们获取系统权限
ConfigUpdater.apk GmsCore.apk GoogleBackupTransport.apk GoogleFeedback.apk
GoogleLoginService.apk
GoogleOneTimeInitializer.apk GooglePartnerSetup.apk GoogleServicesFramework.apk
Phonesky.apk SetupWizard.apk Velvet.apk
请在/vendor/google/apps/Android.mk
每一个应用对应的build语句添加:
LOCAL_PRIVILEGED_MODULE := true
5. 如果预置GMS中的Videos.apk,则将/mediatek/packages/apps/VideoPlayer/Android.mk删除
6.lib库重命名
frameworks/support/renderscript/v8/rs_support/Android.mk: libRSSupport ->
libRSSupport_old (2 places)
frameworks/support/renderscript/v8/jni/Android.mk: librsjni -> librsjni_old and
libRSSupport -> libRSSupport_old (2 places)
libnativehelper/Android.mk: libnativehelper_compat -> libnativehelper_compat_old
ps: 第6步骤的修改,如果您发现在原生code中,这些库的修改已经包含在
ifeq ($(strip $(BUILD_GMS)), yes)
endif
中,可以不再修改
7. 由于兼容性问题,请不要预置GoogleCamera.apk和GalleryGoogle.apk:
7.1 将\google\libs\Android.mk中的以下内容注释掉:
include $(CLEAR_VARS)
LOCAL_PREBUILT_LIBS := libgcam.so \
libgcam_swig_jni.so \
libjni_eglfence.so \
libjni_filtershow_filters.so \
libjni_mosaic.so \
libjni_tinyplanet.so \
libjpeg.so \
liblightcycle.so \
libnativehelper_compat.so
LOCAL_MODULE_TAGS := optional
include $(BUILD_MULTI_PREBUILT)
7.2 将\google\apps\Android.mk中的以下内容注释掉:
include $(CLEAR_VARS)
LOCAL_MODULE := GoogleCamera
LOCAL_MODULE_TAGS := optional
LOCAL_OVERRIDES_PACKAGES := Camera2
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_REQUIRED_MODULES := libgcam \
libgcam_swig_jni \
libjni_eglfence \
libjni_filtershow_filters \
libjni_mosaic \
libjni_tinyplanet \
libjpeg \
liblightcycle \
libnativehelper_compat
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)
以及
include $(CLEAR_VARS)
LOCAL_MODULE := GalleryGoogle
LOCAL_MODULE_TAGS := optional
LOCAL_OVERRIDES_PACKAGES := Gallery2
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)
7.3 将\google\products\gms.mk
PRODUCT_PACKAGES += \下面的
# GoogleCamera \
# GalleryGoogle \
注释掉
ps: 以上内容(第7步骤)是把GoogleCamera、GalleryGoogle以及相关的lib库移除,如果贵司项目
需要预置这两个应用并且遇到编译问题,请提交e-Service,谢谢!
0 0
- KK GMS预置
- KK版本GMS预置
- KK GMS GoolgeCamera应用预置
- L版本GMS预置
- L GMS预置
- L GMS预置
- L版本GMS预置
- android 4.2安装GMS包 && 预置GMS碰到的问题
- 预置GMS包后,关机闹钟失效
- KK GMS无法通过网络定位
- [FAQ04300]如何预置APK (KK及以前)
- KK版本GMS包chromium相关文件合入注意事项
- 使未预置GMS包的手机能用Nike+和GooglePlay的方法
- AndroidL 源码编译 预置GMS包与第三方应用 系统属性管理
- kk
- kk
- kk
- kk
- iOS强制改变物理设备方向的进阶方法
- Java NIO使用及原理分析(二)
- 八、C++ 标准模板库-STL概述
- 设计产品,除了用户体验,别轻视了运营
- 树状数组求kth大
- KK GMS预置
- 软件漏洞分析技术
- imx6 android开机启动守护进程
- 【jzoj4585】【Robert 的军队】
- COCOS2DX与LUA互相调用使用方法
- webview的使用
- Struts2数据传输的背后机制:ValueStack(值栈)
- S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP 分别是什么意思?
- Django Form表单