最近将一个老的Eclipse项目转到Android Studio后,用gradle添加了几个依赖,项目可以make,但是一旦run就报错

Error:The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html

原因

项目的方法数超过了64k,需要进行分包处理!

Android Studio解决方案:

至于Eclipse的解决方法,似乎需要采用相应插件!

第一步,添加依赖
implementation 'com.android.support:multidex:1.0.1'`
第二步,添加配置,build.gradle(app)
  1. buildTypes
 dexOptions {
preDexLibraries false
}

这里是需要添加到buildTypes中,注意如果app依赖其他的module,那么在相应的moudle(build.gradle)中也需要添加!

2. 在defaultConfig下添加

multiDexEnabled true
第三步,创建MultiDexApplication
  1. 如果你有自定义的Application

    自定义Application 继承 android.support.multidex.MultiDexApplication;,然后重写其attachBaseContext方法
/**
* 方法超过64K,需要采用分包
* fjj 2019-3-27
* @param base
*/
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this); // 初始化
}
  1. 如果你自己的项目没有自定义Application,也不需要自定义时,可直接在AndroidManifest.xmlapplication下指定:
android:name="android.support.multidex.MultiDexApplication;"

最后

此致,敬礼!

最新文章

  1. Windows Phone 的 TextBox 的实现 PropertyChanged
  2. 在CentOS安装PHP5.6
  3. SQL Server系统存储过程
  4. BZOJ 4236: JOIOJI
  5. ui-bootstrap-tpls-0.11.0.min.js
  6. iphone开发之用lipo合并模拟器库和真机库,发布一个通用的静态库
  7. php redis安装
  8. Imageview使用记录
  9. base64自定义编码表 php版本
  10. java数组复制的方式和效率比较
  11. 使用VisualStudio发布ASP.NET网站
  12. php函数参数
  13. javascript语法之Date对象与小案例
  14. java核心-多线程-Java多线程编程涉及到包、类
  15. git关于文件权限修改引起的冲突及忽略文件权限的办法
  16. centos 安装docker-compose
  17. 知乎:GAN 的发展对于研究通用人工智能有什么意义?
  18. c语言数字图像处理(十):阈值处理
  19. bitcoin PoW原理及区块创建过程
  20. 秋色园QBlog技术原理解析:性能优化篇:缓存总有失效时,构造持续的缓存方案(十四)

热门文章

  1. Vue基础学习(纯属个人学习的笔记,慢慢新增)
  2. 技巧-如何通过hive开发平台上传csv文件
  3. Ruby 配置vimrc
  4. 【LG3206】[HNOI2010]城市建设
  5. qbxt的题:运
  6. P3940 分组
  7. Entity Framework for Oracle 基本配置
  8. C#之Ref,Out以及TryParse()的用法
  9. JavaScript的数组和字符串应用
  10. PHP双向队列