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

时间:2019-05-25 22:15:42

标签: android unity3d exception admob googlemobileads

我尝试将GoogleMobileAds SDK导入统一。当我导入PlayServicesResolver程序包时,在类似“ ArgumentException的控制台”上出现错误:找不到请求的值“ X86”。我不知道为什么吗?

ArgumentException:找不到请求的值'X86'。 System.Enum + EnumResult.SetFailure(System.Enum + ParseFailureKind故障,System.String failureMessageID,System.Object failureMessageFormatArgument)(位于<23c160f925be47d7a4fd083a3a62c920>:0) System.Enum.TryParseEnum(System.Type枚举类型,System.String值,System.Boolean ignoreCase,System.Enum + EnumResult&parseResult)(位于<23c160f925be47d7a4fd083a3a62c920>:0) System.Enum.Parse(System.Type枚举类型,System.String值,System.Boolean ignoreCase)(位于<23c160f925be47d7a4fd083a3a62c920>:0) System.Enum.Parse(System.Type枚举类型,System.String值)(在<23c160f925be47d7a4fd083a3a62c920>:0) GooglePlayServices.AndroidAbis.EnumValueStringToULong(System.Type enumType,System.String enumValueString)(位于/Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/AndroidAbis.cs:220) GooglePlayServices.AndroidAbis.get_Current()(位于/Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/AndroidAbis.cs:278) GooglePlayServices.PlayServicesResolver.m__1B()(位于/Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1201) GooglePlayServices.PlayServicesResolver + PropertyPoller 1[T].Poll (System.Func 1 [TResult] getCurrentValue,GooglePlayServices.PlayServicesResolver + PropertyPoller`1 + Changed [T]已更改)(位于/ Users / smiles / dev / src / unity-jar-resolver / source / PlayServicesResolver /src/PlayServicesResolver.cs:278) GooglePlayServices.PlayServicesResolver.PollAndroidAbis()(位于/Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1201) UnityEditor.EditorApplication.Internal_CallUpdateFunctions()(在C:/buildslave/unity/build/Editor/Mono/EditorApplication.cs:303)

6 个答案:

答案 0 :(得分:4)

您可以在Unity 2019.3 as mentioned in GitHub googlesamples/unity-jar-resolver中解决此问题。您只需要比v1.2.115更高的Play服务解析器版本即可。

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

注意:在我的环境中,由于错误CS0619,v1.2.115的构建失败,所以我选择了v1.2.124。使用此版本,构建成功并且到目前为止对我而言与Unity 2019.3.0a12都可以正常工作。

答案 1 :(得分:3)

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

与Unity 2019.3f6版本一起使用

  1. 从GitHub googlesamples / unity-jar-resolver下载发行档案。
  2. 从存档中提取文件
  3. 从Unity Assets>导入包中,将play-services-resolver-1 ...导入下载的文件中。

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

答案 2 :(得分:1)

此版本似乎有问题。

我在Mac上运行2019.3.0a3并遇到相同的错误...可悲的是,在导入项目之前我没有看到它,并且丢失了所有内容,因为我无法正确地降级项目。

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

  • 下载了最新的稳定版本2019.1.4f1
  • 使用此版本创建了一个新项目
  • 从我先前的项目中复制所有文件,并将其粘贴到我的新项目文件夹中(2019.3.0a3中的导出包效果不佳...太好了!)
  • 由于粘贴文件不足以复制它们,因此重新创建了所有场景

Aaaa就是这样,辛苦了,但我认为它应该做得到(我目前正在这样做,希望它能起作用)。

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

Cya,祝您项目顺利,如果您有比我更好的解决方案,请与我们联系!

答案 3 :(得分:1)

我认为我发现了为什么要得到这个例外。在Unity3d 2019.3.0a3版本中,项目设置->播放器->目标架构中没有x86选项。但是在旧版本的Unity3d中却存在。也许导入的PlayServicesResolver sdk也在搜索此选项,所以抛出ArgumentException。

答案 4 :(得分:1)

我遇到了同样的问题。我已经从GitHub(而不是Unity)更新了PlayServicesResolver,似乎已经解决了该问题:

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

答案 5 :(得分:0)

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