最近项目需求要把Google GMS三件套集成到AOSP中
但是AOSP 开源代码没有自带Google Play应用商店, 网上查询的最简单的方式是直接在repo对应的manifest文件中配置文件。但是我们的项目中做了阉割,没有repo,只能通过apk文件的预装方式来集成。通过查询,有通过 OpenGApp的方式来集成.
参考: https://github.com/opengapps/aosp_build
也可以在这里直接下载 GMS套件全部
我的需求只需要集成三件套(Google服务框架、Google play商店和Google Play服务), 能从Google应用市场下载安装应用即可.
如下是对应的文件目录结构
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := GooglePlayService
LOCAL_PACKAGE_NAME := com.google.android.gms
LOCAL_SYSTEM_EXT_MODULE := true
LOCAL_PRIVILEGED_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_PRIVATE_PLATFORM_APIS := false
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_SRC_FILES := ${LOCAL_MODULE}.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := GooglePlayStore
LOCAL_PACKAGE_NAME := com.android.vending
LOCAL_SYSTEM_EXT_MODULE := true
LOCAL_PRIVILEGED_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_PRIVATE_PLATFORM_APIS := false
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_SRC_FILES := ${LOCAL_MODULE}.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := GoogleServiceFramework
LOCAL_PACKAGE_NAME := com.google.android.gsf
LOCAL_SYSTEM_EXT_MODULE := true
LOCAL_PRIVILEGED_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_SRC_FILES := ${LOCAL_MODULE}.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
把对应的apk文件和Android.mk文件放到一个文件夹内,并在文件夹对应的上级目录中找到类似如下的Android.mk文件
PRODUCT_PACKAGES += \
Launcher \
GooglePlayService \
GooglePlayStore \
GoogleServiceFramework
添加完以上代码后记得需要把对应的权限配置一下,同样是在上级目录的Android.mk文件中添加
# google
PRODUCT_COPY_FILES += \
vendor/google/GMS/google.xml:$(TARGET_COPY_OUT_SYSTEM)/system_ext/etc/sysconfig/google.xml \
vendor/google/GMS/google_build.xml:$(TARGET_COPY_OUT_SYSTEM)/system_ext/etc/sysconfig/google_build.xml \
vendor/google/GMS/google-hiddenapi-package-whitelist.xml:$(TARGET_COPY_OUT_SYSTEM)/system_ext/etc/sysconfig/google-hiddenapi-package-whitelist.xml \
vendor/google/GMS/privapp-permissions-google-p.xml:$(TARGET_COPY_OUT_SYSTEM)/system_ext/etc/permissions/privapp-permissions-google-p.xml \
vendor/google/GMS/privapp-permissions-google-se.xml:$(TARGET_COPY_OUT_SYSTEM)/system_ext/etc/permissions/privapp-permissions-google-se.xml
需要的文件资源我已经放到文章顶部了
最后感谢