我已经被某个点困扰了几个小时,我正在初始化我从应用程序类调用的 Controller.java 类中的一些代码,它早些时候在所有设备上工作,但从昨天开始,我在 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 studios 存在这样的问题:当代码超过 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'
}
我是一名优秀的程序员,十分优秀!