来自应用程序的 NoClassDefFound class

NoClassDefFound from Application class

几个小时以来,我一直在关注某个点,我正在初始化我的 Controller.java class 中的一些代码,我从我的应用程序 class 中调用了它,它在早些时候工作在所有设备上,但从昨天开始,我在 lolipop 以下的设备上收到 NoClassDefNotFound 异常。我没有更改此文件中可能触发它的任何内容

 my ApplicationClass code:

 .. onCreate(..){
      ..
      Controller.init(this);
      ..
    }

导入正确没有错误,代码如下:

  public class Controller {

      ..
      public static final void init(Context context) {
             mRequestQueue = Volley.newRequestQueue(context);
      }
      ..
  }

程序包名称正确,我已经清理、重建、使缓存无效并重新启动、重新启动工作室、重新启动计算机..我已经尝试了一切似乎都没有用。

我被打了几个小时了,什么都没用..

代码在 lollipop (Android 5.0) 上运行良好,但在 lollipop (Android 5.0) 以下崩溃

请帮帮我

我自己发现了问题, android 工作室有这个问题,当代码超过 65k 个方法时,不显示确切的错误,就像 eclipse 那样:

 Conversion to Dalvik format failed:
 Unable to execute dex: method ID not in [0, 0xffff]: 65536

我不得不脱掉我的头发 2 天才弄清楚 NoClassDefFound 正在向我展示,因为我没有启用 multidex。

如果遇到此问题,请在 build.gradle 文件中写入以下代码:

...
android {
    ...
    defaultConfig {
        multiDexEnabled true
    }
    ..
}

如果您的目标是 Android 5+

对于以下版本添加:

 dependencies {
      compile 'com.android.support:multidex:1.0.0'
 }