Android Moengage实施后应用程序在发布时崩溃

Android Moengage实施后应用程序在发布时崩溃,android,Android,Moengage初始化时应用程序崩溃 java.lang.NoSuchMethodError:没有虚拟方法 getInstanceId()Lcom/google/android/gms/tasks/Task;课堂上 Lcom/google/firebase/iid/FirebaseInstanceId;或者它的超类 (出现'com.google.firebase.iid.FirebaseInstanceId'声明。) in/data/app/com.morecustomersapp-1/base

Moengage初始化时应用程序崩溃

java.lang.NoSuchMethodError:没有虚拟方法 getInstanceId()Lcom/google/android/gms/tasks/Task;课堂上 Lcom/google/firebase/iid/FirebaseInstanceId;或者它的超类 (出现'com.google.firebase.iid.FirebaseInstanceId'声明。) in/data/app/com.morecustomersapp-1/base.apk:classes3.dex) 位于com.moengage.firebase.PushHandlerImpl.getPushToken(PushHandlerImpl.java:63) 位于com.moengage.firebase.PushHandlerImpl.registerForPushToken(PushHandlerImpl.java:52) 在com.moengage.pushbase.push.MoEPushWorker.registerForPush(MoEPushWorker.java:214)上 位于com.moengage.pushbase.push.MoEPushWorker.handlePushRegistrationFallback(MoEPushWorker.java:261) 位于com.moengage.pushbase.push.MoEPushWorker.onHandleContent(MoEPushWorker.java:109) 位于android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:67) 位于android.os.Handler.dispatchMessage(Handler.java:102) 位于android.os.Looper.loop(Looper.java:163) 在android.os.HandlerThread.run(HandlerThread.java:61)2019-04-01 02:58:31.843 23134-23499/com.moreCustomerApp E/UncaughtException:java.lang.NoSuchMethodError:无虚拟方法 getInstanceId()Lcom/google/android/gms/tasks/Task;课堂上 Lcom/google/firebase/iid/FirebaseInstanceId;或者它的超类 (出现'com.google.firebase.iid.FirebaseInstanceId'声明。) in/data/app/com.morecustomersapp-1/base.apk:classes3.dex) 位于com.moengage.firebase.PushHandlerImpl.getPushToken(PushHandlerImpl.java:63) 位于com.moengage.firebase.PushHandlerImpl.registerForPushToken(PushHandlerImpl.java:52) 在com.moengage.pushbase.push.MoEPushWorker.registerForPush(MoEPushWorker.java:214)上 位于com.moengage.pushbase.push.MoEPushWorker.handlePushRegistrationFallback(MoEPushWorker.java:261) 位于com.moengage.pushbase.push.MoEPushWorker.onHandleContent(MoEPushWorker.java:109) 位于android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:67) 位于android.os.Handler.dispatchMessage(Handler.java:102) 位于android.os.Looper.loop(Looper.java:163) 运行(HandlerThread.java:61)

模块级梯度:

implementation ('com.moengage:moe-android-sdk:9.3.01') {
    exclude group: 'com.moengage', module: 'moe-location-lib'
}
项目级梯度

dependencies {
 classpath 'com.android.tools.build:gradle:3.3.2'
 classpath 'com.google.gms:google-services:3.2.0'
 classpath 'io.fabric.tools:gradle:1.+'
}
应用程序类别:

public class AppConfig extends Application implements PushManager.OnTokenReceivedListener, OnAppBackgroundListener {

    @Override
    public void onCreate() {
        super.onCreate();
        MoEngage moEngage = new MoEngage.Builder(this, getResources().getString(R.string.mo_engage_app_id))
                .setLogLevel(Logger.VERBOSE)
                .enableLogsForSignedBuild()
                .setNotificationSmallIcon(
                        R.drawable.ic_notification_holo)
                .setNotificationLargeIcon(R.drawable.ic_launcher)
                .enableLocationServices()
                .build();
        MoEngage.initialise(moEngage);

        SharedPreferences preferences = getSharedPreferences("demoapp", 0);
        boolean existing = false;
        if (preferences.getBoolean("has_sent_install", false)) {
            if (preferences.getBoolean("existing", false)) {
                existing = true;
            }
            MoEHelper.getInstance(getApplicationContext()).setExistingUser(existing);
            preferences.edit().putBoolean("has_sent_install", true).apply();
            preferences.edit().putBoolean("existing", true).apply();
        }
        PushManager.getInstance().setTokenObserver(this);


        MoEHelper.getInstance(getApplicationContext()).registerAppBackgroundListener(this);

    }

    @Override
    public void goingToBackground() {

    }

    @Override
    public void onTokenReceived(String token) {
        Log.d("MoEngageDemo", "onTokenReceived: " + token);
    }
}

我也面临这个问题。但幸运的是找到了解决办法

解决方案1 我认为在MoEngage的初始化过程中,您可能会忘记添加
enableSectionIntegration()

解决方案2 在app/build.gradle中添加这些依赖项

implementation 'com.google.firebase:firebase-auth:19.4.0'
implementation 'com.google.firebase:firebase-analytics-ktx:17.5.0'
implementation 'com.google.firebase:firebase-core:17.5.0'
implementation 'com.google.firebase:firebase-messaging:20.2.4'
implementation 'com.google.firebase:firebase-auth:19.4.0'
implementation 'com.google.firebase:firebase-analytics-ktx:17.5.0'
implementation 'com.google.firebase:firebase-core:17.5.0'
implementation 'com.google.firebase:firebase-messaging:20.2.4'