当我们在Android Studio中以调试模式运行我们的应用程序时,它可以成功运行,但是当我们切换到发布模式时,它会失败并引发错误:
**FAILURE: Build failed with an exception.**
> 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 ‘/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/bin/java” finished with non-zero exit value 1
因此,在本文中,我们将讨论6种不同的方法来修复Android Studio中的“任务’:app:transformClassesWithDexForRelease执行失败”错误。
方法1
我们可以通过在“ local.properties”文件和“ gradle”文件中添加几行代码来解决此错误。
在local.properties中( local.properties文件位于项目的根目录下) ,
org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512m
并且,在gradle文件中,您应该进行此更改,这将帮助您解决此错误。
defaultConfig {
applicationId “yourProjectPackage”
minSdkVersion 15
versionCode 1
versionName “1.0”
targetSdkVersion 23
multiDexEnabled true //important
}
方法二
从您的项目中删除jar文件后,似乎似乎Android Studio中的错误“任务执行失败:app:transformClassesWithDexForRelease”也可以解决,这似乎是您项目中的jar文件之一正在使用旧版的Google Play服务。
方法3
如果在应用程序(Gradle File)的defaultConfig中使multiDexEnabled = true,则可以解决此错误。
defaultConfig {
minSdkVersion 14
targetSdkVersion 22
multiDexEnabled = true
}
方法4
我们还可以按照以下步骤解决此问题:
- 第1步:打开应用程序的build.gradle(而不是项目根目录中的一个)。
- 步骤2:添加此代码段。
android {
// snippet
// add this into your existing ‘android’ block
dexOptions {
javaMaxHeapSize “4g”
}
// snip
}
Note: 4g is 4 Gigabytes and this is a maximum heap size for dex operation.
- 步骤3:再次尝试构建。
方法5
可能导致此问题的另一个问题可能是您使用的某种外部库,它引用了您的依赖关系的先前版本。在这种情况下,请按照下列步骤操作:
- 转到SDK管理器,并安装对您的依赖项的任何更新
- 确保您的build.gradle文件显示最新版本。要获取最新版本,请使用以下链接:https://developers.google.com/android/guides/setup
- 编辑您的库(或安装更新的版本,如果存在的话),以引用最新版本
方法6
当我们将Google Play服务从7.5升级到9.0时,也会发生错误“ Android Studio中的任务’:app:transformClassesWithDexForRelease执行失败”。因此,要解决此问题,
更改此代码段:
compile ‘com.google.android.gms:play-services:7.5.0’
至
compile ‘com.google.android.gms:play-services:9.0.0’