Application类的NoClassDefFound

时间:2015-07-28 20:34:06

标签: java android android-4.4-kitkat

我已经被攻击了几个小时了,我正在初始化我的Controller.java类中的一些代码,我从我的应用程序类调用它,它在所有设备上提前工作但是从昨天开始我得到NoClassDefNotFound异常lolipop..i以下的设备没有更改此文件中可能触发它的任何内容

 my ApplicationClass code:

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

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

  public class Controller {

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

包名称是正确的,我已经清理,重建,无效的缓存和重新启动,重新启动的工作室,重新安装的计算机..我已经尝试了一切似乎没有工作。

我现在被打了几个小时,没有任何工作......

代码在棒棒糖(Android 5.0)上运行正常,但在棒棒糖(Android 5.0)下崩溃

请帮帮我

1 个答案:

答案 0 :(得分: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'
 }