You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity集成Google Mobile Ads遇System.MissingMethodException求助

解决Unity Admob插件Play Service Resolver解析时的MissingMethodException错误

这个问题我帮不少开发者排查过,核心原因是Google的Unity Jar Resolver插件在尝试调用Unity版本控制API时失败——要么你的Unity版本里这个API的签名已经变了,要么你压根没启用Unity的版本控制功能。结合你提供的报错日志,给你几个靠谱的解决步骤:

方案1:启用Unity版本控制功能

这是最常见的解决方法,因为插件需要修改项目设置文件,需要版本控制的Checkout权限:

  • 打开Unity编辑器,顶部菜单选择 Edit > Project Settings > Version Control
  • 把Mode选项从Disabled切换成Visible Meta Files(如果用Git的话选这个就行)或者你正在使用的版本控制模式
  • 重启Unity,然后重新执行Play Service Resolver的自动解析操作

方案2:升级Google Mobile Ads插件到兼容版本

你当前使用的v3.18.2版本比较老旧,可能和你用的新Unity版本(比如2020及以上)的API不兼容:

  • 先在Unity的Package Manager里移除旧的Google Mobile Ads插件
  • 安装最新稳定版的Google Mobile Ads插件(推荐v4.x及以上版本,已经适配了新Unity的版本控制API)
  • 重新配置Android设备设置后再运行解析

方案3:手动修改插件代码(应急临时方案)

如果暂时没法升级插件,可以临时修改报错的插件代码来适配Unity版本:

  • 找到报错文件:Assets/Google/VersionHandlerImpl/ProjectSettings.cs
  • 定位到第119行调用Checkout的代码,把原来的单个string参数改成数组形式:
    // 原来的代码
    UnityEditor.VersionControl.Task task = UnityEditor.VersionControl.Provider.Checkout(path, UnityEditor.VersionControl.CheckoutMode.Asset);
    // 修改后的代码(适配Unity 2020+)
    UnityEditor.VersionControl.Task task = UnityEditor.VersionControl.Provider.Checkout(new[] { path }, UnityEditor.VersionControl.CheckoutMode.Asset);
    
  • 保存后重新运行解析即可,注意:后续升级插件时这个修改会被覆盖,所以还是优先用前两个方案

你提供的错误日志参考:

Stopped polling job due to exception: System.MissingMethodException: UnityEditor.VersionControl.Task UnityEditor.VersionControl.Provider.Checkout(string,UnityEditor.VersionControl.CheckoutMode)
at Google.ProjectSettings.Set[T] (System.String name, T value) [0x00024] in /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/ProjectSettings.cs:119
at Google.ProjectSettings+c__AnonStorey2.<>m__5 () [0x00000] in /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/ProjectSettings.cs:154
at Google.ProjectSettings.SavePreferences (Google.ProjectSettings+SettingsSave saveLevel, System.Action saveToProject, System.Action saveToEditor) [0x00035] in /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/ProjectSettings.cs:135
at Google.ProjectSettings.SetBool (System.String name, System.Boolean value) [0x00014] in /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/ProjectSettings.cs:153
at GooglePlayServices.SettingsDialog.set_UseJetifier (System.Boolean value) [0x00000] in /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/SettingsDialog.cs:225
at GooglePlayServices.PlayServicesResolver.CanEnableJetifierOrPromptUser (System.String titlePrefix) [0x00179] in /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:2270
at GooglePlayServices.PlayServicesResolver.ResolveUnsafe (System.Action`1[T] resolutionComplete, System.Boolean forceResolution, System.Boolean isAutoResolveJob, System.Boolean closeWindowOnCompletion) [0x00012] in /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1610
at GooglePlayServices.PlayServicesResolver+<ScheduleResolve>c__AnonStorey1E.<>m__40 () [0x00000] in /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1579
at GooglePlayServices.PlayServicesResolver.ExecuteNextResolveJob () [0x00069] in /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1438
at GooglePlayServices.PlayServicesResolver.ScheduleResolve (System.Boolean forceResolution, System.Boolean closeWindowOnCompletion, System.Action`1[T] resolutionCompleteWithResult, System.Boolean isAutoResolveJob) [0x000a7] in /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1592
at GooglePlayServices.PlayServicesResolver.AutoResolve (System.Action resolutionComplete) [0x00017] in /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1113
at GooglePlayServices.PlayServicesResolver.m__48 () [0x00016] in /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1092
at Google.RunOnMainThread.ExecutePollingJobs () [0x0004a] in /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:300
UnityEngine.Debug:LogError(Object)
Google.RunOnMainThread:ExecutePollingJobs() (at /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:303)
Google.RunOnMainThread:m__17() (at /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:414)
Google.RunOnMainThread:RunAction(Action) (at /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:234)
Google.RunOnMainThread:ExecuteAll() (at /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:406)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()

内容的提问来源于stack exchange,提问作者Christopher Stupák

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:45:46