Android系统-GMS 版本 切换到非GMS 版本

提示:GMS 版本转 非GMS 版本 ;去除谷歌相关服务-APP

文章目录


前言-需求-场景

前言需求场景理解

大概概念理解: GMS 包含了谷歌公司所有Android相关生态的内容 的一个系统;非GMS版本 就是 AOSP 直接打包出来,比较精简化不含谷歌相关服务、组件的系统

场景: 客户的产品最开始是GMS版本,只能在非大陆区域销售、现在拿到内地销售就需要去掉GMS相关,然后定制系统内容。最基本需求:去掉所有谷歌相关内容、模块,这些谷歌内容、模块 在大陆本身用不了,需要去掉。

需求:所以 基本需求就是去掉系统里面所有谷歌相关的服务、组件、生态; 对于 普通用户来说,就是去掉谷歌APP、包括桌面这些。

GMS 示例效果




非GMS 示例效果

一、参考资料-基本知识点

mtk安卓 BUILD_AGO_GMS 和 BUILD_GMS 属性
【Android安全】AOSP与GMS | 安卓开源

二、实现方案

这里 以 MTK 平台为例:

路径: \device\mediatek\system\mssi_64_cn\SystemConfig.mk

修改内容:BUILD_GMS = false ;或者 直接去掉这个 键值对 配置

三、知识点扩展

GMS 与非 GMS 版本的核心区别

特性 GMS 版本 非 GMS 版本 (AOSP)
Google 服务 包含全套 GMS (Google Mobile Services) 不包含任何 Google 服务
应用商店 Google Play Store 需要第三方商店 (如 Amazon Appstore、F-Droid、自建商店)
核心应用 Gmail、YouTube、Maps、Chrome 等 Google 应用 AOSP 基础应用 (Browser、Email、Calendar 等)
API 支持 Google Play Services API 需要替代方案 (如 MicroG)
推送服务 FCM (Firebase Cloud Messaging) 需要第三方推送 (如华为推送、小米推送)
地图服务 Google Maps API OpenStreetMap、Mapbox、HERE Maps 等
账号系统 Google 账号同步 需要自建账号系统或使用其他 OAuth
设备认证 CTS/GTS 认证 无 Google 认证
目标市场 除中国外的大部分国际市场 中国市场、企业定制、政府项目、特殊市场
示例设备 Pixel、三星国际版、小米国际版 华为 HarmonyOS 设备、亚马逊 Fire 平板、中国版设备

BUILD_GMS=true 与 BUILD_GMS=false 在编译中的区别

编译配置文件

直接看一下源码里面相关判断,如下:不就是各种判断,在编译脚本里面决定那些组件、模块、服务

主要区别点

编译配置 BUILD_GMS=true BUILD_GMS=false
系统分区大小 更大 (增加 ~500MB-1GB) 更小
APEX 模块 包含 Google APEX 模块 不包含 Google APEX
系统权限 添加 com.google.android.gms 权限 仅 AOSP 标准权限
SEPolicy 包含 Google 特定的 SELinux 策略 仅 AOSP SELinux 策略
默认应用 替换 AOSP 应用为 Google 版本 保持 AOSP 原生应用
系统服务 添加 Google Play Services 后台服务 无 Google 服务
媒体编解码器 可能包含 Google 专有编解码器 仅开源编解码器
DRM 支持 Widevine L1 支持 可能只有 Widevine L3 或无

总结

  • 这里对GMS非GMS 切换的一个需求定制案例
  • GMS 非 GMS 这里做了简单的对比