【问题标题】:Error XAGJS7009: System.InvalidOperationException: There can be only one type with an [Application] attribute android Xamarin错误 XAGJS7009:System.InvalidOperationException:只能有一种类型具有 [Application] 属性 android Xamarin
【发布时间】:2021-01-11 13:52:26
【问题描述】:

在我的android项目中实现华为推送服务后,我在推送通知发生时崩溃,并且出现错误

java.lang.UnsatisfiedLinkError: 找不到 void crc6415d7e49b4cd3bc6f.MyApplication.n_onCreate() 的实现

为了解决这个错误,我创建了 MyApplication 来扩展应用程序。

[Application]
    public class MyApplication : Application
    {
        public MyApplication(IntPtr javaReference, JniHandleOwnership transfer) : base(javaReference, transfer)
        {

        }

        public override void OnCreate()
        {
            base.OnCreate();
        }
    }

然后我得到了

错误 XAGJS7009: System.InvalidOperationException: 只有一种类型具有 [Application] 属性;找到:

注意

  1. 我也尝试过添加这些行
    #if DEBUG
    [Application(Debuggable=true)]
    #else
    [Application(Debuggable=false)]
    #endif

但仍然遇到同样的问题

  1. 已经尝试过 Clean and Rebuild 解决方案

【问题讨论】:

  • 尽量不要在OnCreate中调用base.OnCreate
  • @JackHua-MSFT 是的,我试过不调用 base.OnCreate,但仍然遇到同样的错误。
  • 貌似是华为推送服务的问题,等待下个版本修复。

标签: xamarin xamarin.forms xamarin.android huawei-mobile-services huawei-push-notification


【解决方案1】:

您必须先删除应用程序文件。打开 The Library 项目然后找到 XPush-5.0.2.300 -> HmsPush -> Application file 然后将其删除。

如果您想使用与之相关的功能,请将以下代码行添加到您的应用程序的 OnCreate() 方法中。

RegisterActivityLifecycleCallbacks(new MyLifecycleHandler());

另外这个问题会在next version修复。

【讨论】:

  • 我已经完成了,但现在我再次收到"java.lang.UnsatisfiedLinkError: No implementation found for void crc6415d7e49b4cd3bc6f.MyApplication.n_onCreate()" 出现推送通知
  • @PrashantGautam 请在Build前尝试清理并删除主项目的obj和bin文件夹,看看是否有效。
猜你喜欢
  • 2012-09-12
  • 2019-08-31
  • 2020-03-11
  • 1970-01-01
  • 2019-10-21
  • 1970-01-01
  • 2021-03-12
  • 2015-01-12
  • 1970-01-01
相关资源
最近更新 更多