首页 > 解决方案 > Java 类型由多个托管类型生成

问题描述

我目前正在尝试使用 Xamarin Forms 构建跨平台应用程序。该应用程序一直在工作,直到我开始收到错误:

错误 Java 类型mono.com.google.android.gms.common.api.PendingResult_StatusListenerImplementor由多个托管类型生成。请更改 [Register] 属性,以免发出相同的 Java 类型。BlueApp.Android

我有 36 个这样的错误,每个错误都与不同的 Java 类型有关。我检查了 Microsoft 文档,它告诉我“将其中一种 C# 类型的 [Register] 属性更改为不同的 Java 类型名称”。如果这是您修复我的错误的方式,则不确定如何执行此操作。我在这里先向您的帮助表示感谢。

标签: javaandroidxamarinxamarin.forms

解决方案


我意识到问题出在哪里。错误消息告诉我 java 类型 mono.com.google.android.gms.common.api.PendingResult_StatusListenerImplementor 以及其他错误消息中的所有其他 java 类型是由多个托管类型生成的。从本质上讲,此问题源于同时安装了 Xamarin.GooglePlayServices.Base 和 Xamarin.GooglePlayServices.Basement 包以及 GooglePlayServices.Base 和 GooglePlayServices.Basement。为了解决这个问题,我卸载了 GooglePlayServices 包并保留了 Xamarin.GooglePlayServices 包。


推荐阅读