Android中加入依赖库点击运行后报错:com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

编写不易,如有转载,请声明出处: 梦回河口:http://blog.csdn.net/zxc514257857/article/details/66997689

1,报错全部信息如下:

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

  截图如下:

这里写图片描述

2,原因分析

  App中所引用的方法已经超过了最大数65536个!**

3,解决方法

  第一步:在app-build.gradle文件中,defaultConfig节点下添加multiDexEnabled true
  如图:
Android中加入依赖库点击运行后报错:com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536_第1张图片

  第二步:在dependencies节点下添加compile 'com.android.support:multidex:1.0.0’
  如图:
Android中加入依赖库点击运行后报错:com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536_第2张图片

  第三步:app若没有重写Application情况
  在AndroidManifest.xml中,application节点下添加,android:name=“android.support.multidex.MultiDexApplication”
  如图:
Android中加入依赖库点击运行后报错:com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536_第3张图片

  app若重写Application情况
  Application需继承MultiDexApplication,并且在attachBaseContext方法中添加MultiDex.install(this)代码
  代码如下:

public class MainApplication extends MultiDexApplication{
    @Override
    protected void attachBaseContext(Context base){
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
    @Override
    public void onCreate(){
        super.onCreate();
    }
}

----------因本人才疏学浅,如博客或Demo中有错误的地方请大家随意指出,与大家一起讨论,共同进步,谢谢!----------

你可能感兴趣的:(【Android报错信息归纳】)