问题背景
最近在项目中遇到这样一个异常,异常信息如下:
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException: Process 'command 'D:\Work_Software\Java\jdk8_64\bin\java.exe'' finished with non-zero exit value 2
出现这种异常的背景是,我在向项目中集成友盟的推送时出现的,在把友盟的jar 引入后,编译工程,就抛出了这种异常,在网上查了一下,好多人都遇到这种问题,几乎都是引入三方包后编译时抛出这种异常的,先在把我的解决方法贴出来,希望能帮到遇到类似问题的你。
解决方法
注:此异常是在Android studio IDE 上编译android 工程时,出现的,Eclipse (安装了gradle)是否会出现,不确定。
在android 工程目录下工程的build.gradle 文件中android 下添加如下代码:
android {
defaultConfig {
multiDexEnabled true
}
.......
}
上面的解决办法,可以解决这个问题。原因是:我们的app方法数量已经突破了65536的最大限制,需要使用多重dex,但是,有人说在miui,无法使用,本人没有亲测过,只是提一下,提醒一下各位,在开发时注意一下。