在 Unity 上安装 Firebase 时,出现错误“正在卸载损坏的程序集”

问题描述 投票:0回答:5

我打算引入Firebase,为我用Unity制作的游戏添加推送通知功能。

我将应用程序特定的 google-services.json 粘贴到 Asset 文件夹中, 我安装了从 here 下载的 SDK 的 FirebaseMessaging.unitypackage,但出现错误。


控制台

卸载损坏的程序集 Assets/Firebase/Plugins/Firebase.App.dll,该程序集可能会导致运行时崩溃


卸载损坏的程序集 Assets/Firebase/Plugins/Firebase.Messaging.dll,该程序集可能会导致运行时崩溃


卸载损坏的程序集 Assets/Firebase/Plugins/Firebase.Platform.dll,该程序集可能会导致运行时崩溃


从 Assets/google-services.json 生成 Firebase Android 资源文件 google-services.xml 失败。 如果您的应用中未包含有效的 Firebase Android 资源,它将无法初始化。 C:/UnityProjects/Test/Assets..\Assets\Firebase\Editor\generate_xml_from_google_services_json.exe -i "Assets/google-services.json" -l。 Microsoft.VC90.CRT.manifest 无法提取! 您可以通过执行“C:/UnityProjects/Test/Assets..\Assets\Firebase\Editor\generate_xml_from_google_services_json.exe -i "Assets/google-services.json" -l.”开始诊断此问题。从命令行。 UnityEngine.Debug:LogError(对象) Firebase.Editor.GenerateXmlFromGoogleServicesJson:RunResourceGenerator(String, String, Boolean)(位于 Z:/tmp/tmp.CeTbzghE2x/firebase/app/client/unity/editor/src/GenerateXmlFromGoogleServicesJson.cs:508) Firebase.Editor.GenerateXmlFromGoogleServicesJson:ReadBundleIds(String)(位于 Z:/tmp/tmp.CeTbzghE2x/firebase/app/client/unity/editor/src/GenerateXmlFromGoogleServicesJson.cs:369) Firebase.Editor.GenerateXmlFromGoogleServicesJson:UpdateConfigFileDirectory() (位于 Z:/tmp/tmp.CeTbzghE2x/firebase/app/client/unity/editor/src/GenerateXmlFromGoogleServicesJson.cs:261) Firebase.Editor.GenerateXmlFromGoogleServicesJson:CheckConfiguration()(位于 Z:/tmp/tmp.CeTbzghE2x/firebase/app/client/unity/editor/src/GenerateXmlFromGoogleServicesJson.cs:223) Firebase.Editor.GenerateXmlFromGoogleServicesJson:.cctor() (位于 Z:/tmp/tmp.CeTbzghE2x/firebase/app/client/unity/editor/src/GenerateXmlFromGoogleServicesJson.cs:83) UnityEditor.EditorAssemblies:ProcessInitializeOnLoadAttributes()


我想添加这个;

public void Start() {
  Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived;
  Firebase.Messaging.FirebaseMessaging.MessageReceived += OnMessageReceived;
}

但是由于错误,我在 OnTokenReceivedOnMessageReceived 部分收到错误。

使用 Firebase 为应用程序创建的 google-services.json 是否存在问题? 谁来帮帮我吧

c# android firebase unity-game-engine firebase-realtime-database
5个回答
3
投票

检查您的项目设置 > IOS。确保 .NET 是 4.X 而不是 3。 https://docs.unity3d.com/Manual/ScriptingRuntimeUpgrade.html


0
投票

我遇到了同样的错误,并从 Firebase 的 Github 找到了答案。这是来自 Github 的帖子:

“卸载程序集”所做的只是从应用程序中卸载 DLL 域(即 Unity 的进程),然后禁用平台定位 选项。所以你需要做的是选择卸载的 DLL 并 在插件检查器中勾选平台复选框以重新启用 他们适合合适的平台。

我们通常遵循以下模式来启用目标平台:

Firebase/*.dll
:目标 Android、编辑器、独立版 - 使用
FIrebase.Database.dll
Firebase/Firebase.Database.dll
例外 :仅针对 Android
Firebase/iOS/*.dll
:针对 iOS
Firebase/Mono/Firebase.Database.dll
:目标编辑器,独立

这是链接:https://github.com/firebase/quickstart-unity/issues/256

希望有帮助。


0
投票

我在一个新创建的项目中遇到了这个问题。该项目面向 Android,我正在加载 dotnet4 版本的程序集。我切换到 dotnet3 版本并解决了问题。我注意到脚本运行时版本默认针对 .NET 3.5 等效版本。我是 Unity 的新手,所以我不确定这是否是问题所在。


0
投票

每当 Firebase.Editor.GenerateXMLFromGoogleServicesJson.* 丢失时,都是因为 Unity 不会加载它,或者已被指示不要加载它。单击 Assets/Firebase/Editor/Firebase.Editor 进行检查,并确保“编辑器”复选框已选中。如果您更改了它,请点击“应用”,关闭 Unity,然后重新打开它。当它自行解决时,这可能会引发一些错误。关闭,重新打开它,一切都会好起来的。绑定和解除绑定 dll 有一定的复杂性,因此我总是在搞乱程序集依赖关系后关闭 Unity。


0
投票

我需要帮助

这个问题

卸载损坏的 assembly.packages/com.ptc.vuforia.engine/vuforia/plugins/driven/runtime/

© www.soinside.com 2019 - 2024. All rights reserved.