Xamarin.Firebase.Firestore导致我的Xamarin Forms Android项目部署失败(Xamarin)

esyap4oy  于 2022-12-07  发布在  Android
关注(0)|答案(1)|浏览(162)

我在我的Xamarin表单应用程序中使用Google Firestore,在将Xamarin.Firebase.Firestore Nuget包更新到最新版本后,我无法再在Android上调试我的项目。
我创建了一个新的Xamarin Forms项目,首先检查错误是由于我的代码还是由于Nuget包本身的问题。
然后我安装了Xamarin.Firebase.Firestore Nuget包,很快发现问题不在我的代码上,而是在Nuget包上。
如果您正在尝试安装Xamarin.Firebase.Firestore Nuget软件包,但您尚未安装Xamarin.AndroidX.Core和Xamarin.AndroidX.Browser Nuget软件包,它将显示“无法添加Xamarin.Firebase.Firestore”并显示一条很长的错误消息。这是非常恼人的,因为它给你一本小说阅读,而不是简单地显示一个提示,安装NugetPackages作为依赖旁边的父Nuget包裹。
然后为了安装Xamarin.AndroidX.Browser Nuget套件,您需要先安装Xamarin.AndroidX.Core Nuget套件。如果您没有先安装Xamarin.AndroidX.Core Nuget套件,您会收到另一个长的错误消息,告诉您需要安装它。
在我安装了所有三个Nuget软件包并尝试运行我的Android项目后,我收到以下错误消息:

/Users/{UserName}/Desktop/FirebaseTests/FirebaseTests/FirebaseTests.Android: Error JAVA0000: Error in /Users/{UserName}/.nuget/packages/xamarin.google.guava/31.1.0.3/buildTransitive/monoandroid12.0/../../jar/guava.jar:com/google/common/annotations/Beta.class: Type com.google.common.annotations.Beta is defined multiple times: /Users/{UserName}/.nuget/packages/xamarin.google.guava/31.1.0.3/buildTransitive/monoandroid12.0/../../jar/guava.jar:com/google/common/annotations/Beta.class, obj/Debug/lp/102/jl/__reference__guava.jar:com/google/common/annotations/Beta.class Compilation failed java.lang.RuntimeException: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: /Users/{UserName}/.nuget/packages/xamarin.google.guava/31.1.0.3/buildTransitive/monoandroid12.0/../../jar/guava.jar com/google/common/annotations/Beta.class at com.android.tools.r8.internal.Bj.a(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:98) at com.android.tools.r8.D8.main(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:4) Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: /Users/{UserName}/.nuget/packages/xamarin.google.guava/31.1.0.3/buildTransitive/monoandroid12.0/../../jar/guava.jar:com/google/common/annotations/Beta.class at Version.fakeStackEntry(Version_3.3.28.java:0) at com.android.tools.r8.internal.Bj.a(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:75) at com.android.tools.r8.internal.Bj.a(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:28) at com.android.tools.r8.internal.Bj.a(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:27) at com.android.tools.r8.internal.Bj.b(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:2) at com.android.tools.r8.D8.a(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:22) at com.android.tools.r8.D8.a(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:17) at com.android.tools.r8.internal.Bj.a(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:85) ... 1 more Caused by: com.android.tools.r8.internal.f: Type com.google.common.annotations.Beta is defined multiple times: /Users/{UserName}/.nuget/packages/xamarin.google.guava/31.1.0.3/buildTransitive/monoandroid12.0/../../jar/guava.jar:com/google/common/annotations/Beta.class, obj/Debug/lp/102/jl/__reference__guava.jar:com/google/common/annotations/Beta.class at com.android.tools.r8.internal.DT.a(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:14) at com.android.tools.r8.internal.DT.a(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:22) at com.android.tools.r8.internal.CN.a(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:33) at com.android.tools.r8.internal.CN.a(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:10) at java.base/java.util.concurrent.ConcurrentHashMap.merge(ConcurrentHashMap.java:2048) at com.android.tools.r8.internal.CN.a(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:6) at com.android.tools.r8.graph.B2$a.e(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:4) at com.android.tools.r8.dex.b.a(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:105) at com.android.tools.r8.dex.b.a(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:28) at com.android.tools.r8.D8.a(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:25) at com.android.tools.r8.D8.d(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:606) at com.android.tools.r8.D8.c(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:1) at com.android.tools.r8.internal.Bj.a(R8_3.3.28_2aaf796388b4e9f6bed752d926eca110512a53a3f09a8d755196089c1cfdf799:24) ... 5 more Directory 'obj/Debug/lp/102' is from 'Xamarin.Grpc.Stub.dll'. (JAVA0000) (FirebaseTests.Android) java
The error refers to Xamarin.Google.Guava so I thought installing Xamarin.Google.Guava individually would solve the issue but not at all; I am still getting the same error.
Could someone please help me? There is no way I am the only person this is happening to.

58wvjzkj

58wvjzkj1#

你应该把bug归档,Xamarin.Firebase.Firestore需要在安装时工作:https://github.com/xamarin/GooglePlayServicesComponents/issues/new
除此之外,你可以尝试一些旧版本,看看它是否工作,例如版本123.0.3.7似乎为我工作得很好。

相关问题