当前位置: 首页 > 知识库问答 >
问题:

“失败的解决:Lcom/谷歌/机器人/数据传输/运输工厂”,当使用 Xamarin.Firebase

戴浩初
2023-03-14

我正在使用当前的preview 11创建一个. NET MAUI应用程序。< br >当我尝试实现推送通知时,我添加了< code>Xamarin。Firebase.Messaging包,添加这个包会导致应用程序在启动时崩溃,并出现以下异常:

com.google.firebase.provider.FirebaseInitProvider.onCreate: Lcom/google/android/datatransport/TransportFactory;
在FirebaseInitProvider.java:51(android.content.ContentProvider.attachInfo)
在ContentProvider.java:2388(android.content.ContentProvider.attachInfo)
在ContentProvider.java:2358(com.google.firebase.provider.FirebaseInitProvider.attachInfo)
在FirebaseInitProvider.java:45(android.app.ActivityThread.installProvider)
在ActivityThread.java:7239$android.app.ActivityThread.installContentProviders(FirebaseApp.java:427)
在com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:299)
在com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:267)
在com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:252)
在java.lang.NoClassDefFoundError(com.google.firebase.datatransport.TransportRegistrar.getComponents)
在TransportRegistrar.java:32(com.google.firebase.components.ComponentRuntime.discoverComponents)
在ComponentRuntime.java:109(com.google.firebase.components.ComponentRuntime.)
在ComponentRuntime.java:91(com.google.firebase.components.ComponentRuntime.)
在ComponentRuntime.java:45(com.google.firebase.components.ComponentRuntime)
在Builder.build(ComponentRuntime.java:360)
在com.google.firebase.FirebaseApp.(ActivityThread. java: 6697)
在android. app. ActivityThread. access 1300美元(ActivityThread. java: 237)
在android. app. ActivityThread$H. handleMessage(ActivityThread. java: 1913)
在android. app. ActivityThread$H. handle

在构建过程中,我收到以下警告:

obj\Debug\net6.0-android\lp\153\jl\classes.jar:com/google/firebase/datatransport/TransportRegistration中出现警告。类:键入com.google.android.datatransport.runtime。未找到TransportRuntime,它是Lcom/google/firebase/datatransport/TransportRegistrar的默认或静态接口方法取消加糖所必需的;lambda$getComponents$0(Lcom/google/firebase/components/ComponentContainer;)Lcom/google/android/datatransport/TransportFactory

通过跟踪和错误,我发现所有Xamarin.Firebase都会发生这种情况*包,但在引用Xamarin.Google.Android.DataTransport时不需要。直接TransportRuntime。

我该如何解决这个问题?

共有1个答案

萧芷阳
2023-03-14

我找到了一个解决方法:
基本上最新版本的firebase软件包坏了。使用以下软件包有效:

<ItemGroup>
    <PackageReference Include="Xamarin.Build.Download" Version="0.11.0" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.Contains('-android'))">
    <PackageReference Include="Xamarin.Google.Dagger" Version="2.39.1" />
    <PackageReference Include="Xamarin.Firebase.Messaging" Version="122.0.0.2" />
    <PackageReference Include="Xamarin.GooglePlayServices.Base" Version="117.6.0.2" />
</ItemGroup>

一旦我使用以.3而不是.2结尾的版本,最后两个它就坏了......

 类似资料:
  • 我们一直在使用服务,在(AWS)中,我们意外删除了一个目录,因此我们认为它应该在中,但是经过查看,尽管处于打开状态,但它并不存在。

  • 我注意到谷歌通过网址接受任何语言的音译和IME请求: 其中,是以下任何语言和文本的变量。 比如法语(试试看): 或者,普通话(试试看): 所有语言工作和返回伟大的建议。问题是我在网上找不到这个留档,尽管它看起来很像一个应用编程接口。有人知道谷歌是否有官方客户端,或者他们是否同意未经验证的原始请求吗? jQuery之类的插件可能非正式地使用了它。中国时代。js,但如果您能提供任何官方使用信息,我将不

  • 我已经扫描了存储转移文档,但我没有看到这种情况的示例。作为参考,我使用以下脚本--https://github.com/googlecloudplatform/python-docs-samples/blob/master/storage/transfer_service/nearline_request.py 例如,如果我在源桶中有这个文件: 我想给它添加一个前缀,以便它在接收器桶中看起来像这样

  • 问题内容: 我想知道是否可以使用Node.js将数据从服务器流式传输到客户端。我想将单个AJAX请求发布到Node.js,然后将连接保持打开状态并将数据连续流式传输到客户端。客户端将收到此流并不断更新页面。 更新: 更新-我无法使其正常工作。在你打电话之前不发送。我建立了一个示例程序来实现此目的: Node.js: HTML: 使用这种方法,我打电话之前什么都没拿回来。这是否可能,或者我应该使用长

  • 问题内容: 我想使用Java Robot 进行输入。但是,我得到一个。我的代码是: 例外是: 我也尝试过: 我怎么解决这个问题? 问题答案: 尝试使用此代码: 与键盘一样,您输入:按下Shift +;时。您需要模拟的相同。 尝试运行此代码只是为了尝试使用上面的答案可以正常工作:

  • 我正在开发一个可以在NFC标签上读写的Android应用程序。我在阅读我已经写了东西的标签时没有问题,但是当我使用空白标签时,我很难在十六进制代码中读取标签的 UID。 我正在使用mi的经典标签,我直接在十六进制中使用readlock方法读取UID。奇怪的是,它在调试器模式下运行得很好,我在调试器模式下获取UID。但是当我在没有debuger的情况下尝试时,我得到了以下异常: 下面是我读入标签的方