微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google Firestore错误获取数据库实例

如何解决Google Firestore错误获取数据库实例

我正在尝试使用Xamarin android应用程序将信息添加到我的Firebase项目中,但突然间我收到以下消息:

错误消息

java.lang.NoClassDefFoundError
Message=Failed resolution of: Lcom/google/common/base/Preconditions;

我的GetDatabase方法

Imgur Link

已安装NuGet软件包:

  • Xamarin.Android.Support.Core.Utils(版本28.0.0.3)
  • Xamarin.Android.Support.CustomTabs(版本28.0.0.3)
  • Xamarin.Android.Support.Design(版本28.0.0.3)
  • Xamarin.Android.Support.Media.Compat(版本28.0.0.3)
  • Xamarin.AndroidX.MultiDex(2.0.1.4版)
  • Xamarin.Essentials(1.5.3.2版)
  • Xamarin.Firebase.Auth(版本71.1605.4)
  • Xamarin.Firebase.Firestore(版本71.1705.4)
  • Xamarin.Google.Guava(版本28.2.0)
  • Xamarin.GooglePlayServices.Auth(版本71.1600.4)
  • XamarinLibrary.Xamarin.Android.Support.Multidex(版本1.0.3)

调试日志

https://paste.ubuntu.com/p/TDNGwSTDTG/

我尝试将其粘贴为文本,但不喜欢它:( ^^

  • 每次更改后,我都尝试过多次重建项目
  • 正如我在该站点中看到的类似问题一样,我试图将番石榴降级到27.1.0.0以及27.1.0.4
  • 再次检查了与google的连接。我可以自信地说,因为我已经实现了firebase auth Google登录选项,并且可以按预期运行。

我对Xamarin和Firebase还是陌生的,所以请不要向我扔xD

解决方法

GuavaXamarin.FirebaseAndroidX之间存在着众所周知的冲突。

就我而言,我最终将AndroidX实施为新更新,因此我已经为所有后勤配置了Firebase,因此最快,最简单,(对我而言)最好的解决方案是停止使用AndroidX并开始卸载所有AndroidX包。 (我告诉你,很多。)

这并不容易,因为即使我没有记错的话,甚至番石榴或Xamarin.Firebase的最新更新都依赖于AndroidX,因此建议您在更新Nuget软件包之前进行检查。

长话短说,我的解决方案是停止使用AndroidX Nuget软件包。 至少在此问题得到解决之前。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。