【发布时间】:2021-05-06 22:46:55
【问题描述】:
我已经使用 Unity 一年了,并决定制作一个简单的聊天应用程序。我决定使用 Google 的 Firebase 来存储我的用户和聊天数据。我计划在 android(未来的 iOS)上安装该应用程序。我的问题是 Unity 无法生成 Firebase Android 文件。我搜索了错误并将我带到this website。我做了推荐的解决方案并创建了实时数据库并重新安装了 json 和 plist 文件。它不起作用。我仍然收到以下错误。
从 /Users/Family/Desktop/கலைமாறன்/Unity/STEMastery/Assets/../Assets/Firebase Data/google-services.json 生成 Firebase Android 资源文件 google-services.xml 失败。 如果您的应用中没有包含有效的 Firebase Android 资源,它将无法初始化。
"python" "/Users/Family/Desktop/கலைமாறன்/Unity/STEMastery/Library/PackageCache/com.google.firebase.app@7.2.0/Firebase/Editor/generate_xml_from_google_services_json.py" -i "/Users/Family/Desktop/கலைமாறன்/Unity/STEMastery/Assets/../Assets/Firebase Data/google-services.json" -o "/Users/Family/Desktop/கலைமாறன்/Unity/STEMastery/Assets/../Assets/Plugins/Android/FirebaseApp.androidlib/res/values/google-services.xml" -p "com.maranstudios.stemastery.maran" ...
我还检查了外部工具。在android下它说JDK安装了Unity,Android SDK工具安装了Unity,Android NDK安装了Unity,Gradle安装了Unity。我还下载了 android studio,所以我可以构建到 android。
我也尝试过重新启动 unity、visual studio 甚至我的电脑,但这并没有帮助。
Unity 在我的 iMac 上运行得非常好,并且可以在统一编辑器中访问我的实时数据库。但是当我在手机上运行它时,会弹出 2 个错误。
- DllNotFound 异常:Firebase CppApp ...
- 找不到默认引用。
2 的解释: 我有这行代码。
DatabaseReference reference = FirebaseDatabase.DefaultInstance.RootReference;
然后,如果 t hat 为空,我将签入另一个脚本。它在我的手机上变为 null,但在我的 mac 上运行良好。
我使用的是 macOS Mojave(版本 10.14.4)。
我的统一版本是 Unity 2020.3.4f1。
我的手机使用的是安卓 10。
我已经尝试了所有我能想到的来处理这个错误。我相信通过修复此错误,我的应用程序将在我的手机上正常运行。我已尽力提供帮助您了解我的问题所需的所有信息。如果我仍然缺少任何东西,请询问,我会尽快回复。
编辑: 我尝试了一些新东西。我升级到了 unity 2020.7,但是没有用。我还尝试使用 Unity 2019 从头开始创建一个新项目,但我仍然遇到同样的错误。会不会是 Firebase 不能在我的 Mac 上运行,或者这是 Unity 中的一个错误,它以某种方式存在于多个版本中?我真的可以使用一些帮助来弄清楚如何集成 Firebase。任何帮助表示赞赏。
【问题讨论】:
标签: c# android firebase unity3d firebase-realtime-database