公司项目在打包时遇到了传说中的65536问题,如以下提示:

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

在Android中,一个Dex中存储方法id用的是short类型数据,所以我们的方法总数不能超过64K

解决方法:

第一步:修改主module中的build.gradle文件:

在android{}中的defaultConfig{}中加入这句:`multiDexEnabled true`

并且依赖multidex:compile 'com.android.support:multidex:1.0.1'

第二步:修改Application的继承关系:

让我们的application继承MultiDexApplication就好,或者重写attachBaseContext()方法,在该方法中调用MultiDex.install(this); 效果是一样的,因为继承的这个类中就是这么做的.

如果你本身并没有写application,还要记得在manifest中注册下application,如果找不到MultiDexApplication这个类,请看看你是否有添加这个依赖!

本篇内容参考了达哥的文章: http://blog.csdn.net/yanzhenjie1003/article/details/51818269

更多相关文章

  1. Android(安卓)Volley框架
  2. Android应用程序组件间通信(一)——Intent类简介
  3. Android(安卓)Widget事件
  4. android 程序退出
  5. 【Android】Service学习之本地服务
  6. Android(安卓)5.0学习之定义阴影
  7. android linux 休眠 深度睡眠 查看 方法 调试
  8. Android(安卓)Binder Mechanism (4) -- 如何使用已注册的系统Ser
  9. Android对View的onMeasure方法理解

随机推荐

  1. android常用的电话操作
  2. android app设置亮屏的几种方式以及功耗
  3. Android中打印调用栈
  4. EasyPermission Android(安卓)6.0 最简洁
  5. 学习笔记:Android中使用网络技术的方法(web
  6. 【Arduino】Arduino接收字符串
  7. Android(安卓)常用git命令
  8. iTextPdf最简单最彻底解决中文显示
  9. 我的Android进阶之旅------>Android实现
  10. Android屏幕图标尺寸规范