疑难解答常见错误

此页面包含有关如何诊断和修复常见错误的信息。 它根据错误代码和日志消息分为多个部分。

响应代码 400

Connecting to: https://performanceparameters.googleapis.com/v1/applications/...
TuningFork:Web: Response code: 400
TuningFork:Web: Response message: Bad

如果您的 API 密钥无效,则可能会遇到此错误。 请参阅 启用 API 以及 配置插件 部分。

响应代码 403

TuningFork:Web: Connecting to: https://performanceparameters.googleapis.com/v1/applications/...:generateTuningParameters
TuningFork:Web: Response code: 403
TuningFork:Web: Response message: Forbidden

如果您的 API 密钥未启用,或者您在限制 API 密钥时出错(例如,您使用了错误的证书或哈希值),则可能会遇到此错误。 请参阅 启用 API

日志中显示“无参数:无保真度参数”警告和“java.lang.NoSuchFieldError”

TuningFork:FPDownload: No parameters: no fidelity parameters
TuningFork: java.lang.NoSuchFieldError: no "[Landroid/content/pm/ApplicationInfo;" field "applicationInfo" in class "Landroid/content/pm/PackageInfo;" or its superclasses
TuningFork: Could not get fidelity params from server : err = 4

这些是 Tuning Fork 库在检查应用程序是否设置了可调试标志时发出的无害警告。 虽然冗长,但它们是无害的,并不表示库集成中存在问题。 **您可以忽略这些警告**。

多个 Google.Protobuf.dll 文件

PrecompiledAssemblyException: Multiple precompiled assemblies with the same name
Google.Protobuf.dll included for the current platform.
Only one assembly with the same name is allowed per platform. Assembly paths: ...

Error: The imported type `Google.Protobuf.IMessage<T>' is defined multiple times

如果您的项目包含多个 Google.Protobuf.dll 文件,则可能会遇到这些错误之一。 删除其中一个 .dll 文件以解决此冲突。

尝试调用...方法,该方法没有生成提前(AOT)代码

ExecutionEngineException: Attempting to call method 'Google.Protobuf.Reflection.ReflectionUtil+ReflectionHelper' ... for which no ahead of time (AOT) code was generated.

您可能会在某些版本的 Unity 中看到此错误。 如果 AOT 编译器未为泛型方法生成代码,则会发生此错误。 有关如何强制生成所需代码的信息,请参阅 提前编译 (AOT) 部分。

命名空间“Google”中不存在类型或命名空间名称“Protobuf”。

The type or namespace name `Protobuf' does not exist in the namespace `Google'. Are you missing an assembly reference?

确保您的项目使用的是 **.NET 4.x**。 检查 **Player Settings > Other Settings > Configuration > Scripting Runtime Version**。

LoadingSceneTracker.cs: 找不到类型或命名空间名称“FidelityParams”。

LoadingSceneTracker.cs: The type or namespace name 'FidelityParams' could not be found (are you missing a using directive or an assembly reference?)
LoadingSceneTracker.cs: The type or namespace name 'Annotation' could not be found (are you missing a using directive or an assembly reference?)

从 **Player Settings > Scripting Define Symbols** 中删除 ANDROID_PERFORMANCE_TUNER_UTILITIES