[英]App crashes on launch after Moengage implemented
App Crashes when Moengage is initialized. Moengage 初始化时应用程序崩溃。
java.lang.NoSuchMethodError: No virtual method getInstanceId()Lcom/google/android/gms/tasks/Task; java.lang.NoSuchMethodError: 没有虚拟方法 getInstanceId()Lcom/google/android/gms/tasks/Task; in class Lcom/google/firebase/iid/FirebaseInstanceId;在 Lcom/google/firebase/iid/FirebaseInstanceId 类中; or its super classes (declaration of 'com.google.firebase.iid.FirebaseInstanceId' appears in /data/app/com.morecustomersapp-1/base.apk:classes3.dex) at com.moengage.firebase.PushHandlerImpl.getPushToken(PushHandlerImpl.java:63) at com.moengage.firebase.PushHandlerImpl.registerForPushToken(PushHandlerImpl.java:52) at com.moengage.pushbase.push.MoEPushWorker.registerForPush(MoEPushWorker.java:214) at com.moengage.pushbase.push.MoEPushWorker.handlePushRegistrationFallback(MoEPushWorker.java:261) at com.moengage.pushbase.push.MoEPushWorker.onHandleIntent(MoEPushWorker.java:109) at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:67) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:163) at android.os.HandlerThread.run(HandlerThread.java:61) 2019-04-01 02:58:31.843 23134-23499/com.morecustomersapp E/UncaughtException: java.lang.NoSuchMethodError: No virtual method getInstanceId()Lcom/google/android/gms/tasks/Task;或其超类('com.google.firebase.iid.FirebaseInstanceId' 的声明出现在 /data/app/com.morecustomersapp-1/base.apk:classes3.dex 中)在 com.moengage.firebase.PushHandlerImpl.getPushToken( PushHandlerImpl.java:63) at com.moengage.firebase.PushHandlerImpl.registerForPushToken(PushHandlerImpl.java:52) at com.moengage.pushbase.push.MoEPushWorker.registerForPush(MoEPushWorker.java:214) at com.moengage.pushbase.push .MoEPushWorker.handlePushRegistrationFallback(MoEPushWorker.java:261) at com.moengage.pushbase.push.MoEPushWorker.onHandleIntent(MoEPushWorker.java:109) at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:67) at android。 os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:163) at android.os.HandlerThread.run(HandlerThread.java:61) 2019-04-01 02:58 :31.843 23134-23499/com.morecustomersapp E/UncaughtException: java.lang.NoSuchMethodError: 没有虚拟方法 getInstanceId()Lcom/google/android/gms/tasks/Task; in class Lcom/google/firebase/iid/FirebaseInstanceId;在 Lcom/google/firebase/iid/FirebaseInstanceId 类中; or its super classes (declaration of 'com.google.firebase.iid.FirebaseInstanceId' appears in /data/app/com.morecustomersapp-1/base.apk:classes3.dex) at com.moengage.firebase.PushHandlerImpl.getPushToken(PushHandlerImpl.java:63) at com.moengage.firebase.PushHandlerImpl.registerForPushToken(PushHandlerImpl.java:52) at com.moengage.pushbase.push.MoEPushWorker.registerForPush(MoEPushWorker.java:214) at com.moengage.pushbase.push.MoEPushWorker.handlePushRegistrationFallback(MoEPushWorker.java:261) at com.moengage.pushbase.push.MoEPushWorker.onHandleIntent(MoEPushWorker.java:109) at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:67) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:163) at android.os.HandlerThread.run(HandlerThread.java:61)或其超类('com.google.firebase.iid.FirebaseInstanceId' 的声明出现在 /data/app/com.morecustomersapp-1/base.apk:classes3.dex 中)在 com.moengage.firebase.PushHandlerImpl.getPushToken( PushHandlerImpl.java:63) at com.moengage.firebase.PushHandlerImpl.registerForPushToken(PushHandlerImpl.java:52) at com.moengage.pushbase.push.MoEPushWorker.registerForPush(MoEPushWorker.java:214) at com.moengage.pushbase.push .MoEPushWorker.handlePushRegistrationFallback(MoEPushWorker.java:261) at com.moengage.pushbase.push.MoEPushWorker.onHandleIntent(MoEPushWorker.java:109) at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:67) at android。 os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:163) 在 android.os.HandlerThread.run(HandlerThread.java:61)
Module level gradle:模块级gradle:
implementation ('com.moengage:moe-android-sdk:9.3.01') {
exclude group: 'com.moengage', module: 'moe-location-lib'
}
Project level gradle项目级gradle
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.+'
}
Application Class:应用类别:
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);
}
}
I also faced this issue.我也遇到过这个问题。 But luckily found the solution for this但幸运的是找到了解决方案
val moEngage = MoEngage.Builder(this, BuildConfig.MOENGAGE_ID)
.enableSegmentIntegration()
.setLogLevel(Logger.VERBOSE)
.build()
MoEngage.initialise(moEngage)
I think during initialization of MoEngage you could have forget to add enableSegmentIntegration()
我认为在 MoEngage 的初始化过程中,您可能忘记添加enableSegmentIntegration()
Add these dependency in app/build.gradle在 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'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.