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,谢谢!


0 0
原创粉丝点击