Android 重新打开应用程序时的Moengage问题

Android 重新打开应用程序时的Moengage问题,android,moengage,Android,Moengage,当应用程序出现在前台时,应用程序崩溃。 当应用程序被终止并重新启动时,它不会崩溃,但当它被最小化并重新打开时,它会崩溃,出现以下异常 java.lang.NoClassDefFoundError: com.moengage.locationlibrary.LocationHandlerImpl 位于java.lang.Class.classForName(本机方法) 位于java.lang.Class.forName(Class.java:324) 位于java.lang.Class.forNa

当应用程序出现在前台时,应用程序崩溃。 当应用程序被终止并重新启动时,它不会崩溃,但当它被最小化并重新打开时,它会崩溃,出现以下异常

java.lang.NoClassDefFoundError: com.moengage.locationlibrary.LocationHandlerImpl 位于java.lang.Class.classForName(本机方法) 位于java.lang.Class.forName(Class.java:324) 位于java.lang.Class.forName(Class.java:285) 位于com.moengage.location.GeoManager.getHandler(GeoManager.java:33) 位于com.moengage.core.moedipatcher.syncInAppsAndGeo(moedipatcher.java:209) 位于com.moengage.core.moedipatcher.onStart(moedipatcher.java:159) 位于com.moe.pushlibrary.moeheloper.onNewIntent(moeheloper.java:287) 位于com.moe.pushlibrary.moeheloper.onStartInternal(moeheloper.java:324) 在com.moe.pushlibrary.MoEActivityLifeCycleCallBacks.onActivityStarted上(MoEActivityLifeCycleCallBacks.java:33) 在android.app.Application.dispatchActivityStarted上(Application.java:205) 位于android.app.Activity.onStart(Activity.java:1146) 位于android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:542) 位于android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:177) 位于android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1237) 位于android.app.Activity.performStart(Activity.java:6253) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)上 位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 位于android.app.ActivityThread.-wrap11(ActivityThread.java) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)上 位于android.os.Handler.dispatchMessage(Handler.java:102) 位于android.os.Looper.loop(Looper.java:148) 位于android.app.ActivityThread.main(ActivityThread.java:5417) 位于java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:726) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)10-23 13:26:14.136 7406-7406/? I/进程:发送信号。PID:7406信号:9

我确实尝试了NoClassDefFoundError的解决方案,但没有成功。我对它在重新启动时运行感到困惑,但当它从最小化状态转到前台时,我就不知道了

以下是我的应用课程:

public class AppController extends Application implements PushManager.OnTokenReceivedListener {
    MoEHelper helper;

    @Override
    public void onCreate() {
        super.onCreate();

        helper = MoEHelper.getInstance(getApplicationContext());
        helper.autoIntegrate(this);
        PushManager.getInstance().setTokenObserver(this);

        Log.e("TAG", "onCreate() AppController");
        SharedPreferences pref = getApplicationContext().getSharedPreferences("MoTest", Context.MODE_PRIVATE);
        if (pref.contains("newInstall")) {
            helper.setExistingUser(true);
        } else {
            helper.setExistingUser(false);
        }

    }

    @Override
    public void onTokenReceived(String token) {
        Log.e("TAG", "Appcontroller Token: " + token);
    }
}
这是我的主要活动:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }
}

检查您的LocationHandlerImpl.java文件,查看GoogleAppClient和LocationServices是否已解决。您可能没有添加位置服务的依赖项

如果未解决这些问题,请将各自的依赖项添加到Gradle文件中

'com.google.android.gms:play服务位置:XXX'


同步并尝试再次运行它。这应该可以完成任务

检查您的LocationHandlerImpl.java文件,查看GoogleAppClient和LocationServices是否已解决。您可能没有添加位置服务的依赖项

如果未解决这些问题,请将各自的依赖项添加到Gradle文件中

'com.google.android.gms:play服务位置:XXX'


同步并尝试再次运行它。这应该可以完成这项工作

如果您拥有位置权限,MoEngage SDK假定您的应用程序具有位置服务依赖项,这里的情况也是如此。 也就是说,SDK提供了一种排除位置库的机制,以防您不想使用我们的地理围栏功能。这可以通过以下方式完成:

compile ('com.moengage:moe-android-sdk:7.7.16') {
        exclude group: 'com.moengage', module: 'moe-location-lib'
    }
您可以参考官方文件了解更多详细信息


PS:我是MoEngage SDK的贡献成员之一。如果这个问题没有解决,请告诉我。

MoEngage SDK假设您的应用程序具有位置服务依赖性(如果您具有位置权限),这里的情况也是如此。 也就是说,SDK提供了一种排除位置库的机制,以防您不想使用我们的地理围栏功能。这可以通过以下方式完成:

compile ('com.moengage:moe-android-sdk:7.7.16') {
        exclude group: 'com.moengage', module: 'moe-location-lib'
    }
您可以参考官方文件了解更多详细信息

PS:我是MoEngage SDK的贡献成员之一。如果这个问题没有解决,请告诉我