gpt4 book ai didi

使用 Xamarin 注册 Google Cloud Messaging 时出现 Java.Lang.LinkageError

转载 作者:太空宇宙 更新时间:2023-11-04 13:18:43 26 4
gpt4 key购买 nike

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

我正在尝试将 Google Cloud Messaging (GCM) 添加到应用中。

我已按照 Xamarin 网站上的说明访问 Register with GCM .

当调用此行时:

var instanceID = InstanceID.GetInstance (this);

我收到以下错误:

Exception of type 'Java.Lang.LinkageError' was thrown.

完整的代码示例是:

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 (Kit Kat)。

最低 Android 版本为 4.1(API 级别 16)。

目标 Android 版本为 4.4(API 级别 19)。

我的项目中包含这些包:

  • Xamarin.GooglePlayServices.Base
  • Xamarin.GooglePlayServices.Basement
  • Xamarin.GooglePlayServices.Gcm
  • Xamarin.Android.Support.v4

任何帮助将不胜感激。

最佳答案

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

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

关于使用 Xamarin 注册 Google Cloud Messaging 时出现 Java.Lang.LinkageError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33307105/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com