ArgumentException:未找到请求的值 'X86'

ArgumentException: Requested value 'X86' was not found

我尝试将 GoogleMobileAds SDK 导入 unity。当我导入 PlayServicesResolver 包时,我在控制台上收到类似这样的错误“ArgumentException:未找到请求的值 'X86'。”我不明白为什么?

ArgumentException: Requested value 'X86' was not found. System.Enum+EnumResult.SetFailure (System.Enum+ParseFailureKind failure, System.String failureMessageID, System.Object failureMessageFormatArgument) (at <23c160f925be47d7a4fd083a3a62c920>:0) System.Enum.TryParseEnum (System.Type enumType, System.String value, System.Boolean ignoreCase, System.Enum+EnumResult& parseResult) (at <23c160f925be47d7a4fd083a3a62c920>:0) System.Enum.Parse (System.Type enumType, System.String value, System.Boolean ignoreCase) (at <23c160f925be47d7a4fd083a3a62c920>:0) System.Enum.Parse (System.Type enumType, System.String value) (at <23c160f925be47d7a4fd083a3a62c920>:0) GooglePlayServices.AndroidAbis.EnumValueStringToULong (System.Type enumType, System.String enumValueString) (at /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/AndroidAbis.cs:220) GooglePlayServices.AndroidAbis.get_Current () (at /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/AndroidAbis.cs:278) GooglePlayServices.PlayServicesResolver.m__1B () (at /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1201) GooglePlayServices.PlayServicesResolver+PropertyPoller1[T].Poll (System.Func1[TResult] getCurrentValue, GooglePlayServices.PlayServicesResolver+PropertyPoller`1+Changed[T] changed) (at /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:278) GooglePlayServices.PlayServicesResolver.PollAndroidAbis () (at /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1201) UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at C:/buildslave/unity/build/Editor/Mono/EditorApplication.cs:303)

这个版本好像有问题。

我是 运行 2019.3.0a3 Mac 并且有同样的错误......遗憾的是我在导入我的项目之前没有看到它并且有点失去了一切,因为我可以'正确降级我的项目。

我的解决方案不是最好的,但这是我所做的:

  • 已下载最新的稳定版本 2019.1.4f1
  • 使用此构建创建了一个新项目
  • 复制了我之前项目中的所有文件并将其粘贴到我的新项目文件夹中(2019.3.0a3 中的导出包也无法正常工作...太棒了!)
  • 重新创建了我所有的场景,因为粘贴文件不足以复制它们

A​​aaa 就是这样,辛苦了,但我认为应该这样做(我现在正在做,我希望它有效)。

此外,由于这不是最好的解决方案,我希望将其写为评论而不是答案,但我在这里的声誉还很低。

Cya,祝你的项目好运,如果你有比我更好的解决方案,请告诉我们!

我想我发现了为什么会出现此异常。 Unity3d 2019.3.0a3版本中Project Settings->Player->Target Architectures没有x86选项。但在旧版本的 Unity3d 中,有。也许导入的 PlayServicesResolver sdk 也搜索此选项,因此抛出 ArgumentException。

我也遇到了同样的问题。我已经从 GitHub 而不是 Unity 更新了 PlayServicesResolver,它似乎已经解决了这个问题:

https://github.com/googlesamples/unity-jar-resolver

您可以在 Unity 2019.3 中解决此问题as mentioned in GitHub googlesamples/unity-jar-resolver。您只需要比 v1.2.115 更新的 Play Services Resolver 版本。

  1. 从 GitHub googlesamples/unity-jar-resolver 下载发布存档。请注意下面的注释。
  2. 从存档中提取文件,并转到其根目录
  3. 运行按照Building from Source in README.md中的描述进行构建,你将在./build/plugin.unitypackage处获得一个统一包文件。如果您在 Unity 中缺少某些东西,您可能需要在 Unity 中安装模块。 (例如 iOS 构建支持)
  4. 在 Unity 上的项目 window 中,删除 /Assets/PlayServicesResolver 文件夹
  5. 在 Unity 上,从您在上述第 3 步构建的包文件中导入所有文件

注意:在我的环境中,v1.2.115 由于错误 CS0619 而在构建时失败,因此我选择了 v1.2.124。有了这个版本,构建成功,到目前为止我在 Unity 2019.3.0a12 上运行良好。

对我有用的简化版本,无需重建。

使用版本Unity 2019.3f6

  1. 从 GitHub googlesamples/unity-jar-resolver 下载发布存档。
  2. 从存档中提取文件
  3. 从 Unity Assets > Import Package 导入 play-services-resolver-1... 在下载的文件中。

这会自动删除不需要的目录等

对我来说,删除 PlayServicesResolver 目录很有效。