提示: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 这里做了简单的对比