当前位置: 首页 > news >正文

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/

http://www.xdnf.cn/news/898021.html

相关文章:

  • UniApp系列
  • KKCMS部署
  • Truffle 和 Ganache 使用指南
  • MADlib —— 基于 SQL 的数据挖掘解决方案(4)—— 数据类型之矩阵
  • R 语言科研绘图第 55 期 --- 网络图-聚类
  • T/SAIAS 018—2025《具身智能语料库建设导则》研究报告:体系解构与实施路径
  • LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
  • Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
  • 软考 系统架构设计师系列知识点之杂项集萃(84)
  • awk处理xml文件封装集合变量和调用
  • Git仓库的创建
  • 机器学习笔记【Week7】
  • window安装docker
  • 无需域名,直接加密IP的SSL方案
  • Docker容器化技术概述与实践
  • 【Python工具开发】k3q_arxml 简单但是非常好用的arxml编辑器,可以称为arxml杀手包
  • python闭包与装饰器
  • Chrome安装代理插件ZeroOmega(保姆级别)
  • 浏览器工作原理01 [#]Chrome架构:仅仅打开了1个页面,为什么有4个进程
  • .NET AOT 详解
  • Spring AI 入门:Java 开发者的生成式 AI 实践之路
  • 保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
  • C#报错 iText.Kernel.Exceptions.PdfException: ‘Unknown PdfException
  • uniapp+vue2解构赋值和直接赋值的优缺点
  • 12.vite,webpack构建工具
  • 云原生玩法三问:构建自定义开发环境
  • 父组件prop传向子组件的值,被子组件直接v-model绑定 功能不生效
  • win10安装WSL2、Ubuntu24.04
  • 华为云学堂-云原生开发者认证课程列表
  • uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)