Google Play 要求所有 Unity 应用完成对 CVE-2025-59489 漏洞的修补,否则将无法通过审核。本文记录实际操作流程与注意事项。

背景

Unity 官方安全公告:https://unity.com/security/sept-2025-01

注意:虽然部分新版 Unity Editor 的更新日志中声称已内置修复,但实测使用 2022.3.62f3c1 提审 Google Play 时仍会收到不合规提示。因此,无论 Editor 版本如何,都建议使用 Unity 官方 Patch 工具进行修补


修补工具

工具下载页面:https://unity.com/security/sept-2025-01/remediation

  • Windows:使用 UnityApplicationPatcherCLI.exe
  • macOS:使用 UnityApplicationPatcher.app/Contents/MacOS/UnityApplicationPatcherCLI

Android APK/AAB 修补(最常用)

基本命令

UnityApplicationPatcherCLI -android ^
-applicationPath <path/to/application.apk> ^
-versionCode <新版本号>

versionCode 必须大于当前版本号,否则 Google Play 会拒绝上传。

使用正式签名(发布包必须)

UnityApplicationPatcherCLI -android ^
-applicationPath <path/to/application.apk> ^
-versionCode <新版本号> ^
-versionName <版本名称> ^
-keystore <path/to/your.keystore> ^
-keystorePassword <密钥库密码> ^
-keyAlias <密钥别名> ^
-keyAliasPassword <别名密码>

仅查看当前版本号(不修补)

UnityApplicationPatcherCLI -android -printApplicationVersion ^
-applicationPath <path/to/application.apk>

参数说明

参数 必填 说明
-applicationPath APK 或 AAB 文件路径
-versionCode 修补后的版本号,必须高于当前值
-versionName 可选 用户看到的版本名称,省略则保持原值
-keystore 可选 .keystore.jks 文件路径,省略则使用调试签名
-keystorePassword 可选 密钥库密码
-keyAlias 可选 密钥别名
-keyAliasPassword 可选 别名密码
-verbose 可选 输出详细日志,排查问题时使用

Windows / macOS 应用修补

# Windows - 修补整个应用目录
UnityApplicationPatcherCLI -windows -applicationPath <path/to/MyApp>

# Windows - 只修补 UnityPlayer.dll
UnityApplicationPatcherCLI -windows -unityPlayerLibrary <path/to/UnityPlayer.dll>

# macOS - 修补整个 .app
UnityApplicationPatcherCLI -macos -applicationPath <path/to/MyApp.app>

# macOS - 只修补 UnityPlayer.dylib(需加 -allowStandaloneLibrary)
UnityApplicationPatcherCLI -macos -unityPlayerLibrary <path/to/UnityPlayer.dylib> -allowStandaloneLibrary

-allowStandaloneLibrary:允许修补不在 .app 包内的独立 UnityPlayer.dylib,默认不允许,因为工具可能遗漏同目录下的其他需修补文件。


注意事项

  1. 修补后的包需要重新签名才能上传 Google Play,务必填写正式签名参数
  2. versionCode 每次提审必须递增,不要忘记同步修改
  3. 如果 CI/CD 流程有自动打包,建议将 Patch 步骤也加入流水线