Android 7.1 预置GMS包

1.下载需要的Gms包;https://download.csdn.net/download/qq_32390877/10499329

2.在Android源码的device/产品名称/产品型号/device.mk末尾中,加入以下语句

GMS_SUPPORT=yes
ifeq ($(strip $(GMS_SUPPORT)), yes)
$(call inherit-product-if-exists, vendor/partner_gms/products/gms.mk)

endif

3.将下载好的GMS包放在vendor\partner_gms目录下

4.若要添加新的APK到GMS包中,比如Chrome.apk:

(1) 在vendor\partner_gms\apps目录下新建一个文件夹,命名为Chrome,将Chrome.apk 放入该文件夹中,再在该目录下

新建一个Android.mk ,添加下面内容;

# Chrome
LOCAL_PATH := $(call my-dir)


include $(CLEAR_VARS)
LOCAL_MODULE := Chrome
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_TAGS := optional
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_PRIVILEGED_MODULE := true
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)

(2)在vendor\partner_gms\products\gms.mk中加入:

 

PRODUCT_PACKAGES += \

    Chrome \

有时候这样预置也会不成功,一点击就报缺少.so库文件,这个时候我们需要解压apk的库文件,以GmsCore为例。

解压步骤:

(1)复制apk文件生成副本,然后将apk文件的后缀名由.apk改成.zip文件;

(2)解压zip 文件,在该目录下有一个lib文件,将lib文件复制到GmsCore目录下;

(3)修改Android.mk ,在Android.mk 文件中添加LOCAL_REQUIRED_MODULES := 属性;将lib目录下的.so文件添加进去:

LOCAL_REQUIRED_MODULES := libAppDataSearch.so   \
                          libconscrypt_gmscore_jni.so  \
                          libgcastv2_base.so  \
                          libgcastv2_support.so  \
                          libgmscore.so   \
                          libgoogle-ocrclient-v3.so  \
                          libhomeworkinferencejni.so  \
                          libjgcastservice.so  \
                          libjingle_peerconnection_so.so  \
                          libleveldbjni.so  \
                          libonline-estimator-jni2.so  \
                          libpredictor_jni.so  \
                          libsslwrapper_jni.so  \
                          libvcdiffjni.so  \
                          libwearable-selector.so  \
                          libWhisper.so

你可能感兴趣的:(Android)