2015-08-31 74 views
0

我一直在我的代码上收到NoClassDefFoundError。下面是代码:
NoClassDefFoundError在Android Studio中实现Runnable类

handler.postDelayed(check = new Runnable() { 
     @Override 
     public void run() { 
      if (foreground && paused) { 
       foreground = false; 
       Log.i(TAG, "went background"); 
       for (Listener l : listeners) { 
        try { 
         l.onBecameBackground(); 
        } catch (Exception exc) { 
         Log.e(TAG, "Listener threw exception!", exc); 
        } 
       } 
      } else { 
       Log.i(TAG, "still foreground"); 
      } 
     } 
    } 
    , CHECK_DELAY); 

上分配new Runnable()check

我试图分离Runnable,并试图与没有成功

final Runnable temp = new Runnable() { 
     @Override 
     public void run() { 
      if (foreground && paused) { 
       foreground = false; 
       Log.i(TAG, "went background"); 
       for (Listener l : listeners) { 
        try { 
         l.onBecameBackground(); 
        } catch (Exception exc) { 
         Log.e(TAG, "Listener threw exception!", exc); 
        } 
       } 
      } else { 
       Log.i(TAG, "still foreground"); 
      } 
     } 
    }; 

    handler.postDelayed(check = new Runnable() { 
     @Override 
     public void run() { 
      if (foreground && paused) { 
       foreground = false; 
       Log.i(TAG, "went background"); 
       for (Listener l : listeners) { 
        try { 
         l.onBecameBackground(); 
        } catch (Exception exc) { 
         Log.e(TAG, "Listener threw exception!", exc); 
        } 
       } 
      } else { 
       Log.i(TAG, "still foreground"); 
      } 
     } 
    } 
    , CHECK_DELAY); 

的错误现在出现在线路中发生的错误final Runnable temp = new Runnable() {

发生了什么事?我检查编译的类和文件在那里。类和$类。有解决方案还是替代方案?

EDIT(添加错误日志):

08-31 10:54:51.672 17887-17887/com.travelio.traveliochatapp E/AndroidRuntime﹕ FATAL EXCEPTION: main 
Process: com.travelio.traveliochatapp, PID: 17887 
java.lang.NoClassDefFoundError: com.travelio.traveliochatapp.misc.ForegroundHelper$1 
     at com.travelio.traveliochatapp.misc.ForegroundHelper.onActivityPaused(ForegroundHelper.java:159) 
     at android.app.Application.dispatchActivityPaused(Application.java:217) 
     at android.app.Activity.onPause(Activity.java:1287) 
     at com.travelio.traveliochatapp.SplashActivity.onPause(SplashActivity.java:79) 
     at android.app.Activity.performPause(Activity.java:5335) 
     at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1233) 
     at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3138) 
     at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3107) 
     at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:3085) 
     at android.app.ActivityThread.access$1000(ActivityThread.java:144) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1257) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:212) 
     at android.app.ActivityThread.main(ActivityThread.java:5137) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:902) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:718) 
     at dalvik.system.NativeStart.main(Native Method) 
+0

记住发布错误日志? – prashantwosti

+0

那里,我添加了它 –

+0

T hink找到前景对象是非常糟糕的。 – RajSharma

回答

1

嗯,我知道了。我在我的应用程序中使用multidex,我忘了在AndroidManifest.xml中添加android:name="android.support.multidex.MultiDexApplication"。添加它会解决问题,虽然我选择修剪我的代码,这样我就不必使用multidex