使用Xamarin注册Google云消息时发生Java.Lang.LinkageError

使用Xamarin注册Google云消息时发生Java.Lang.LinkageError,java,android,xamarin,google-cloud-messaging,Java,Android,Xamarin,Google Cloud Messaging,我有一个使用Xamarin构建的Android应用程序 我正在尝试将谷歌云消息(GCM)添加到应用程序中 我已按照Xamarin网站上的说明进行操作 调用此行时: var instanceID = InstanceID.GetInstance (this); 我得到以下错误: 引发了类型为“Java.Lang.LinkageError”的异常 完整的代码示例是: using System; using Android.App; using Android.Content; using Andr

我有一个使用Xamarin构建的Android应用程序

我正在尝试将谷歌云消息(GCM)添加到应用程序中

我已按照Xamarin网站上的说明进行操作

调用此行时:

var instanceID = InstanceID.GetInstance (this);
我得到以下错误:

引发了类型为“Java.Lang.LinkageError”的异常

完整的代码示例是:

using System;
using Android.App;
using Android.Content;
using Android.Util;
using Android.Gms.Gcm;
using Android.Gms.Gcm.Iid;

namespace ClientApp
{
    [Service(Exported = false)]
    class RegistrationIntentService : IntentService
    {
        static object locker = new object();

        public RegistrationIntentService() : base("RegistrationIntentService") { }

        protected override void OnHandleIntent (Intent intent)
        {
            try
            {
                Log.Info ("RegistrationIntentService", "Calling InstanceID.GetToken");
                lock (locker)
                {
                    var instanceID = InstanceID.GetInstance (this);
                    var token = instanceID.GetToken ("3495XXXXXXXX", GoogleCloudMessaging.InstanceIdScope, null);

                    Log.Info ("RegistrationIntentService", "GCM Registration Token: " + token);
                }
            }
            catch (Exception e)
            {
                Log.Debug("RegistrationIntentService", "Failed to get a registration token");
                return;
            }
        }
    }
}
我已尝试将链接器行为从“仅链接SDK程序集”更改为“不链接”。这确实导致了同样的错误

目标框架设置为Android 4.4(KitKat)

Android的最低版本是4.1(API级别16)

Android的目标版本是4.4(API级别19)

我在项目中包含了这些包:

  • Xamarin.GooglePlayServices.Base
  • Xamarin.谷歌游戏服务公司.地下室
  • Xamarin.GooglePlayServices.Gcm
  • Xamarin.Android.Support.v4

任何帮助都将不胜感激。

为了解决这个问题,在Xamarin Studio中,我最终尝试删除所有包、组件和引用。然后重新下载并安装到解决方案中。这解决了悬挂机构的错误


我假设GCM引用的是较新的文件版本,而项目中的其他组件引用的是较旧的文件版本?

为了解决此问题,在Xamarin Studio中,我最终尝试删除所有包、组件和引用。然后重新下载并安装到解决方案中。这解决了悬挂机构的错误

我假设GCM引用的是较新的文件版本,而项目中的其他组件引用的是较旧的文件版本