错误:任务':app:dexDebug'执行失败。 > com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:Process' command' /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/箱/ JAVA''完成非零退出值2
我得到了上述异常。我认为问题出在我的build.gradle中。 我的build.gradle依赖项是:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.google.android.gms:play-services:7.3.0'
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
compile 'com.getbase:floatingactionbutton:1.9.0'
compile 'com.parse.bolts:bolts-android:1.+'
compile 'com.android.support:support-v4:22.2.0'
compile 'com.melnykov:floatingactionbutton:1.3.0'
compile 'de.hdodenhof:circleimageview:1.3.0'
compile 'me.villani.lorenzo.android:android-cropimage:1.1.0'
compile 'com.oguzdev:CircularFloatingActionMenu:1.0.2'
}
答案 0 :(得分:0)
此错误是由于Dalvik可执行文件(dex)字节码文件的限制。由于项目中的依赖项数量已达到65K方法限制。这意味着Dalvik可执行文件只能引用65,536种方法,并且您已超过此限制。这些方法包括Android库中的方法,依赖项中的任何方法以及您编写的自己的方法。
要通过此限制,您可以在build.gradle文件中启用multiDex,该文件将创建多个Dalvik可执行文件。
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...
// Enabling multidex support.
**multiDexEnabled true**
}
...
}
在启用multidex之前,请确保需要所有依赖项。您可以使用ProGuard http://developer.android.com/tools/help/proguard.html自动从构建中删除未使用的依赖项。
答案 1 :(得分:0)
你可以检查" libs"文件夹中。
compile fileTree(dir: 'libs', include: ['*.jar'])
此代码可以导入" libs"中的所有包。如果你的" libs"有包装,你不需要再次编译。如果你编译' v7',你就不能编译' v4'。如果你" libs& #34;有" v4",删除它。