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软件包。 至少在此问题得到解决之前。