error: package com.google.firebase.messaging does

2019-02-26 10:11发布

问题:

I'm trying to build my project, but when I do, I get this error: "error: package com.google.firebase.messaging does not exist", along with other 4 errors of the same kind.

    package md5f64326b4609986d97810cf2ced03c9ce;


public class MyFirebaseMessagingService
extends com.google.firebase.messaging.FirebaseMessagingService
implements
    mono.android.IGCUserPeer
{
/** @hide */
public static final String __md_methods;
static {
    __md_methods = 
        "n_onMessageReceived(Lcom/google/firebase/messaging/RemoteMessage;)V:GetOnMessageReceived_Lcom_google_firebase_messaging_RemoteMessage_Handler\n" +
        "";
    mono.android.Runtime.register ("FCMClient.MyFirebaseMessagingService, LimBands.Droid, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", MyFirebaseMessagingService.class, __md_methods);
}


public MyFirebaseMessagingService ()
{
    super ();
    if (getClass () == MyFirebaseMessagingService.class)
        mono.android.TypeManager.Activate ("FCMClient.MyFirebaseMessagingService, LimBands.Droid, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", "", this, new java.lang.Object[] {  });
}


public void onMessageReceived (com.google.firebase.messaging.RemoteMessage p0)
{
    n_onMessageReceived (p0);
}

private native void n_onMessageReceived (com.google.firebase.messaging.RemoteMessage p0);

private java.util.ArrayList refList;
public void monodroidAddReference (java.lang.Object obj)
{
    if (refList == null)
        refList = new java.util.ArrayList ();
    refList.add (obj);
}

public void monodroidClearReferences ()
{
    if (refList != null)
        refList.clear ();
}
}

This is my whole file, it is on the obj folder. I already tried deleting the bin/obj folders, manually deleting and reinstalling all nuget packages, changing nuget package versions (downgrading and upgrading), but nothing seems to work.

I even compared some files with another solution that works the same way, and I found no differences.

回答1:

The problem you are facing right now is a common problem to which a proper solution has not been provided by Xamarin so there is this workaround I made up the last time I faced this problem.

If you are using both Google maps and Firebase Cloud Messaging the following are the steps you need to take:

  • Check the versions of the following DLL's in your references and upgrade or downgrade your references to match these versions:

Xamarin.Firebase.Common- 42.1021.1

Xamarin.Firebase.lid- 42.1021.1

Xamarin.Firebase.Messaging- 42.1021.1

Xamarin.GooglePlayServices.Base- 42.1021.1

Xamarin.GooglePlayServices.Basement- 42.1021.1

Xamarin.GooglePlayServices.GCM- 42.1021.1

Xamarin.GooglePlayServices.lid- 42.1021.1

Xamarin.GooglePlayServices.Location- 42.1021.1

Xamarin.GooglePlayServices.Maps- 42.1021.1

Xamarin.GooglePlayServices.Tasks- 42.1021.1

  • Check the current version of your xamarin build DLL in case it is above 0.4.2 downgrade it to 0.4.2

Xamarin.Build.Download- 0.4.2

  • Clean and Build your solution in case the problem still persists delete the bin and obj folders and then clean build your project.

In case the problem still persists kindly comment so I can follow up.