由于项目越来越大,不可避免的引用第三方的库,造成项目方法爆棚

方法总数超过轻轻松松过64K

问题:
Error:The number of method references in a .dex file cannot exceed 64K.
Error:Execution failed for task ':app:transformClassesWithDexForRelease'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException:            java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException:  org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_77\bin\java.exe'' finished with non-zero exit value 2‘’
解决方案:
 https://developer.Android.com/intl/zh-cn/tools/building/multidex.html

方案1:使用插件化框架  比如: https://github.com/singwhatiwanna/dynamic-load-apk

方案2:分割Dex

今天就说说Dex分割

1、开发环境是eclipse时的解决方案:

在project.properties中添加一行  dex.disable.merger = true

2、Android Studio

 在app的 build.gradle 中

(1)在dependencies 中添加  compile ‘com.android.support:multidex:1.0.0‘

(2)在 defaultConfig 中添加multiDexEnabled true

android {compileSdkVersion 21buildToolsVersion "21.1.0"defaultConfig {...minSdkVersion 14targetSdkVersion 21...// Enabling multidex support.multiDexEnabled true}...
}dependencies {compile 'com.android.support:multidex:1.0.0'
}

(3)manifest application 标签中添加

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.vieboo.test">
     <application
        ...android:name="android.support.multidex.MultiDexApplication">...</application>
</manifest>
提示:如果你的应用程序继承 Application , 那么你需要重写并继承 MultiDexApplication

/** * 分割 Dex 支持* @param base*/@Overrideprotected void attachBaseContext(Context base) {super.attachBaseContext(base);MultiDex.install(this);}

[AndroidStudio]Building Apps with Over 64K Methods相关推荐

  1. Android doc译文|Building Apps with Content Sharing|Sharing Simple Data

    Sharing Simple Data One of the great things about Android applications is their ability to communica ...

  2. Building Apps for Windows Phone 8.1教程下载地址整理

    官方教程地址 http://channel9.msdn.com/Series/Building-Apps-for-Windows-Phone-8-1 http://media.ch9.ms/ch9/8 ...

  3. Building Apps for Windows 10 on LattePanda–Jump Start

    1.引言 目前来看,LattePanda应该是最小的运行Full Windows 10系统的开发板了(注意,不是Windows 10 for Mobile,也不是Windows 10 IoT系列,而是 ...

  4. android开发过程中遇到的问题

    记录android开发过程中遇到的问题. 1.在一个xml中能否使用同一个include多次 http://www.apkbus.com/android-104152-1-1.html android ...

  5. Android 项目开发填坑记 - 使用 MultiDex 解决 64K 限制

    如果移动端访问不佳,请访问 –> Github版 背景 Android 的 classLoader 在加载 APK 的时候限制了class.dex 包含的 Java 方法数,其总数不能超过655 ...

  6. Android 编译 Jack简介

    本地进行Android 编译时遇到一些问题,对Jack进行了一些了解,转载PCSXK兄的博客做记录. Jack工具链 Jack是一个Android工具链,用于将Java源码编译成Android dex ...

  7. 给App启用MultiDex功能

    转自:http://kaedea.com/2015/09/02/android/enable-multidex/ App 启动 MultiDex 主要是为了解决 "65535 方法数超标&q ...

  8. 精简我们的apk的方法

    我们都知道安卓的65K方法坑. com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536 at co ...

  9. App启用MultiDex功能

    转自:http://kaedea.com/2015/09/02/android/enable-multidex/ App 启动 MultiDex 主要是为了解决 "65535 方法数超标&q ...

最新文章

  1. Pandas常见的数据过滤方法、通过列条件筛选行数据
  2. 原生编辑器_免费开源的GIF制作神器,可录屏幕/摄像头/画板,自带编辑器
  3. 使用wireshark抓取3G包
  4. Machine Learning--决策树(一)
  5. 电脑硬盘:数据错误(循环冗余检查)
  6. HTL5 JavaScript里的DOM节点简单思维导图(元素节点,文本节点,节点的增删改查) 高清可打印
  7. 西游记中金箍棒的来历和巨大威力
  8. python生成中文、字母、数字等字符图片
  9. 面对众多云数据库,应该使用哪个云数据库好?
  10. 7-28 | 猴子选大王
  11. 【DeeplabV3+ MIoU】DeeplabV3+计算评价指标
  12. 记QQ群里一次sql优化
  13. 模拟人类大脑每秒计算数量级及参数容量的估计
  14. APM32 ST-LINK不能刷入
  15. java年份判断_java怎么判断年份是否是闰年
  16. 微信兵锋所向 阿里必将血流成河
  17. php log4j,log4j 使用笔记
  18. 医咖会免费STATA教程学习笔记——计算变量的置信区间
  19. jQuery控制input不可编辑
  20. 用友财务软件--T3

热门文章

  1. qq邮件如何设置html阅读,使用qq邮箱发送html格式的邮件
  2. CSR蓝牙4.0与 APT-X高保真音频技术
  3. 安装office2021时报错,无法卸载以前office版本残留项
  4. spark 集群处理后转单机pyspark 或 pands 数据处理 的方法
  5. POJ 3322 Bloxorz I
  6. 去除加粗的css,CSS去掉b加粗和strong加粗标签样式
  7. python把二维列表转成一维列表
  8. 《指数基金投资指南》 阅读笔记
  9. html 更改元素坐标,利用JS修改元素的位置属性,为什么style.left可行而style.top失效?...
  10. java mqtt发布_使用kura或MQTT将消息发布到kapua