Android-EDLA 谷歌安全补丁、GMS包以及mainline包更新

📅 发布时间:2026/8/1 21:59:25
Android-EDLA 谷歌安全补丁、GMS包以及mainline包更新 Android-EDLA 谷歌安全补丁、GMS包以及mainline包更新文章目录Android-EDLA 谷歌安全补丁、GMS包以及mainline包更新1.谷歌安全补丁更新1.1 下载安全补丁1.2 打入安全补丁1.3 STS测试安全补丁1.3.1 测试方法1.3.2 Fail项处理2.GMS包更新2.1 下载GMS包2.2 更新GMS包3.Mainline包更新3.1下载Mainline包3.2 Mainline包补丁补丁、谷歌安全补丁、GMS、mainline包的区别1.谷歌安全补丁更新按照google要求安全补丁更新要满足不超过当前日期90天若10月份送测那安全补丁必须至少已经合入到了7月份因此每次EDLA送测之前都应该要计算好时间更新安全补丁。1.1 下载安全补丁谷歌官方安全补丁的下载地址为https://drive.google.com/drive/folders/1in1XSijJkSMOEI6uWRk3EQ7xY6kx7sEw?resourcekey0-Gy53Mh4PbiOBrTUClcwEkA如上图是26年6月份的安全补丁需要下载框框中的ZIP文件。内容如上根据项目情况选择具体的安全补丁包比如是Android 16的项目就选择android-16.0.0_r1。1.2 打入安全补丁打入安全补丁主要有以下几步将补丁放入对应目录下source 一下编译脚本确保中性和客制化的修改有应用到源码中cd 到对应目录下执行patch -p1 xxxxx根据提示的信息如果有冲突的话需要手动处理冲突保证补丁修改的内容有合进代码里将客制化修改的文件同步到客制化的文件夹下面走复制脚本的流程更新安全补丁的版本AN14文件的位置在release/build/make/core/version_defaults.mk。AN16需要改两个文件文件1urelease/build/make/core/version_defaults.mk。文件2wrelease/build/release/flag_values/bp2a/RELEASE_PLATFORM_SECURITY_PATCH.textproto打入安全补丁之后就可以编包验证了验证软件需要准备user版本的和userdebug版本的软件进行验证。1.3 STS测试安全补丁1.3.1 测试方法每次更新谷歌补丁都需要进行自测一台机器大概需要留有一到两天的时间自测和debug。使用user版本的软件测试cts 的CtsSecurityTestCases 模块和 gts-smr这两个测试时间比较短。使用userdebug版本的软件测试sts-dynamic-incremental这个耗时比较长。命令如下run cts -m CtsSecurityTestCasesrun gts-smrrun sts-dynamic-incremental1.3.2 Fail项处理测试完出报告之后可以根据fail项找到对应的补丁和代码一般确保代码有合入到系统中就可以pass 对应的fail项。像这种带有CVE的fail项可以直接到cve的网站上搜索找到对应的补丁信息。不带CVE的fail项需要根据实际情况处理。CVEhttps://cve.mitre.org/cve/(查询安全patch号以及patch内容)2.GMS包更新项目第一次进行EDLA认证时需要注意GMS包的时效性如果第一次送测超过了当前GMS包的有效期并且GMS有更新新的版本的话需要更新GMS包以满足谷歌认证的要求如果是已经通过了认证、后续进行维护更新的话则不需要更新GMS包进行SMR测试。2.1 下载GMS包谷歌官方GMS包的下载地址为https://docs.partner.android.com/gms/building/integrating/gms-download?hlzh-cn进入下载链接找到对应Android版本的GMS包即可如图所示红框里的代表是202408月份的GMS包谷歌要求IR项目在10.27号及以后强制使用202408月份的GMS包因此根据项目情况看是否需要更新GMS包。进入下载链接找到对应Android版本的最新GMS包即可。需要注意的是在google官网上浏览或者下载东西要切换成英文不然用中文所看到的不是最新内容。因此下载GMS包一定要选择英文mainline包同理。以下是英文浏览下的内容2.2 更新GMS包GMS包包含谷歌的APK和对应的mk文件等配置文件如果完全替换的话会将中性在相关的文件上的对策覆盖掉出现问题因此客制化更新GMS包有两种选择进行GMS包的更新可以只替换掉APK不对其他类型的文件进行操作避免导致中性修改的问题再次出现。除了APK之外还需要修改partner_gms\products路径下的gms_package_version.mk文件更新系统GMS包的日期。对比文件将中性的对策也同步到新的文件中进行替换。将需要修改的文件放入客制化文件夹修改code_path文件在编译时进行替换即可。3.Mainline包更新一般来说GMS包需要更新到最新mainline包不能更新到最新不然会出现问题落后当前日期3-6个月区间的mainline包是比较稳定的。3.1下载Mainline包谷歌官方Mainline包的下载地址为https://releasetracker.partner.android.com/projects/mainline/changes?hlzh-cn进入网站后然后选择下载mainline包注意mainline包的下载对比gms包较为复杂选择好maline包后我们这里需要下载的是Preload里的一般下载最新的版本然后点击包含的内容选择版本后然后会跳转到CI界面这里需要搜索partner然后就能下载maline包了如下列图片外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传3.2 Mainline包补丁若下载mainline包出现编译报错的情况先检查下是否需要合入google针对mainline的补丁Mainline包补丁网站如下https://docs.partner.android.com/mainline/release/release-notes/platform_patches补丁、谷歌安全补丁、GMS、mainline包的区别这是最核心的对比表覆盖所有关键差异点后续所有拆解均围绕此表展开建议你在集成 / 更新时对照校验对比维度泛指「补丁」Android Patch安卓官方补丁Mainline包主线模块包GMS包Google移动服务包核心属性对系统漏洞/问题的修复程序泛称无标准Android系统官方标准化修复包有强制规范AOSP模块化系统核心组件包开源Google闭源授权服务/应用包需EDLA/MADA协议归属方厂商/第三方/Google均可能发布Google官方AOSP团队Google官方AOSP团队Google官方GMS团队存在形式无固定形式单so/脚本/增量包/完整包固定形式SMR安全补丁/IMR维护补丁固定形式APEX格式核心APK格式固定形式目录化合集priv-app/apps/lib64/etc等核心作用修复任意系统问题漏洞/功能bug/兼容性问题修复Android系统底层漏洞/核心功能bug保障系统基线安全提供Android模块化系统核心组件支持独立更新不依赖完整OTA提供Google闭源生态服务/应用是GMS认证核心实现Play商店/账号/Chrome等功能开源性可闭源/开源核心补丁开源AOSP提交代码完全开源AOSP核心模块完全闭源仅授权设备可获取/集成EDLA设备更新要求无强制要求季度强制更新SMR安全补丁5年安全支持1. 与GMS包版本严格匹配2. 随Android Patch同步更新3. 支持Play系统独立更新1. 月度更新有效期90天认证必用未过期版本2. 与Mainline包版本严格匹配3. 季度安全补丁同步更新认证关联无直接关联无最新补丁→CTS/GTS测试失败认证一票否决版本不匹配/缺失→GTS测试失败认证一票否决过期/版本不匹配/组件缺失→GMS认证直接失败EDLA核心要求典型内容厂商自定义修复包、第三方漏洞补丁等内核漏洞修复、系统库bionic/ART修复、SELinux策略修复等Conscrypt加密、ART运行时、TimeZoneData时区、MediaCodec媒体等系统模块化组件PrebuiltGmsCorePlay服务、GooglePlayStore商店、Chrome、Trichrome内核、AICoreStub等闭源应用/服务依赖关系无固定依赖依赖Android系统大版本如Android12补丁仅适用于12依赖Android系统大版本Android10 支持与GMS包强绑定依赖Android系统大版本 Mainline包强绑定依赖Android Patch安全基线部署目录无固定目录集成到/system//kernel等vendor/partner_gmsprebuild、vendor/partner_modules如果对你有帮助就一键三连呗关注点赞收藏我会持续更新更多干货~~