AOSP (Android11) 集成Google GMS三件套

最近项目需求要把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

需要的文件资源我已经放到文章顶部了

最后感谢

https://wenku.csdn.net/doc/3yh4iajkuz

https://www.huigll.com/android14-tangorpro-package-gms/

相关推荐
启雀AI19 小时前
培训平台移动端离线学习方案设计与实现:视频缓存、断点续传与进度同步的工程实践
android·学习·缓存·音视频·企业lms
我命由我1234520 小时前
RxJava - 冷数据流与热数据流
android·java·java-ee·android studio·rxjava·android-studio·android runtime
2601_966563521 天前
愤怒的小鸟单机版 去广告 安卓+PC端离线纯净版 益智耐玩小游戏 不需联网 老旧手机都可以玩 怀旧手机小游戏
android·智能手机
hunterandroid1 天前
[Android 从零到一] Retrofit 请求取消与生命周期绑定:从 Call.cancel 到协程可取消设计
android
爱跑马的程序员1 天前
安卓专有的通信子系统-Binder IPC
android·binder·ipc·安卓间通信机制
ue星空1 天前
【安卓逆向】为什么用Frida?
android
小驰行动派1 天前
Camx架构全景图:从V4L2到Pipeline的完整拆解
android·camera·android camera
hunterandroid1 天前
[Android 从零到一] Custom View 触摸反馈与手势冲突解决
android
coderSong25681 天前
Android | 四大组件之 BroadcastReceiver(广播接收器)
android
爱笑鱼1 天前
Android 系统启动机制(二):init.rc 不是普通脚本,service、action 和 property 怎样驱动启动?
android