博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android工程方法数超过65535的解决办法
阅读量:4546 次
发布时间:2019-06-08

本文共 1265 字,大约阅读时间需要 4 分钟。

  • Error:Execution failed for task ':ttt: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

    很不幸,今天被我遇到了,集成了一个Udesk客服功能,导入它的moudle,里面乱七八糟导入了一大堆第三方。作为一个第三方客服,你这样真的好么?

解决方案

  1. Gradle 配置:app的build.gradle中

    android {        defaultConfig {        applicationId "com.xxx.xxx"        minSdkVersion 14 targetSdkVersion 21 multiDexEnabled true //加上这句话 } }
  2. Gradle 配置:app的build.gradle中

    dependencies {        compile 'com.android.support:multidex:1.0.1'    }
  3. 自己的Application 类重写方法:

    @Override                             protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); }

    也可以继承android.support.multidex.MultiDexApplication类,不用重写上面方法

  4. 如果你的应用中包含引用的lirary工程或moudle,需要将预编译设置为false:

    android {        // ...        dexOptions {            preDexLibraries = false        }   }
  5. 当运行时如果看到如下错误:

    UNEXPECTED TOP-LEVEL ERROR:

    java.lang.OutOfMemoryError: Java heap space

    在dexOptions中有一个字段用来增加java堆内存大小:

    android {        // ...        dexOptions {            javaMaxHeapSize "2g"        }    }

转载于:https://www.cnblogs.com/dongweiq/p/7115972.html

你可能感兴趣的文章
11月的第一天
查看>>
2011简单总结
查看>>
android的Environment类,记录一下
查看>>
工作流Activiti5流程变量 任务变量 setVariables 跟 setVariablesLocal区别
查看>>
c语言诊断_断言库函数#include<assert.h>
查看>>
input type="file"获取文件名方法
查看>>
强力上攻后,缓解期结束,MACD死叉的案例
查看>>
Linux文件权限
查看>>
js替换字符串中特殊字符
查看>>
第一单元OO总结
查看>>
让 Windows7 - 64bit 支持 VC++ 6.0 的解决方法(无法启动此程序,因为计算机中丢失 MSVCRTD.dll。尝试重新安装该程序以解决此问题)...
查看>>
SSH 整合及注意事项
查看>>
带分页的sql语句
查看>>
CS231n Solver.py 详解
查看>>
OC内存管理
查看>>
使用FMDB事务批量更新数据库
查看>>
Android Fragment 真正的完全解析(上)
查看>>
C++面试宝典2011版
查看>>
Android学习笔记——ProgressBar
查看>>
Flume的监控参数
查看>>