正如标题所说,我的Android工作室/ Gradle在将Google Play服务更新为8.1.0(从7.8.0开始)后无法构建。 恢复工作正常。 这是我的build.gradle的相关部分:
compile 'com.google.android.gms:play-services-maps:8.1.0'
compile 'com.google.android.gms:play-services-gcm:8.1.0'
compile 'com.google.android.gms:play-services-analytics:8.1.0'
意外的顶级例外情况: com.android.dex.DexIndexOverflowException:无法将新索引65685合并为非巨型指令! 在com.android.dx.merge.InstructionTransformer.jumboCheck(InstructionTransformer.java:109) 在com.android.dx.merge.InstructionTransformer.access $ 800(InstructionTransformer.java:26) 在com.android.dx.merge.InstructionTransformer $ StringVisitor.visit(InstructionTransformer.java:72) 在com.android.dx.io.CodeReader.callVisit(CodeReader.java:114) 在com.android.dx.io.CodeReader.visitAll(CodeReader.java:89) 在com.android.dx.merge.InstructionTransformer.transform(InstructionTransformer.java:49) 在com.android.dx.merge.DexMerger.transformCode(DexMerger.java:842) 在com.android.dx.merge.DexMerger.transformMethods(DexMerger.java:813) 在com.android.dx.merge.DexMerger.transformClassData(DexMerger.java:786) 在com.android.dx.merge.DexMerger.transformClassDef(DexMerger.java:682) 在com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:542) 在com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) 在com.android.dx.merge.DexMerger.merge(DexMerger.java:189) 在com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502) 在com.android.dx.command.dexer.Main.runMonoDex(Main.java:334) 在com.android.dx.command.dexer.Main.run(Main.java:277) 在com.android.dx.command.dexer.Main.main(Main.java:245) 在com.android.dx.command.Main.main(Main.java:106) 错误:任务':app:dexDebug'执行失败。 com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令' C:... \ Java \ jdk1.7.0_79 \ bin \ java.exe& #39;'完成非零退出值2
由于
答案 0 :(得分:3)
您可以尝试在gradle文件中包含multidex enable true,如下所示:
android {
compileSdkVersion 22
buildToolsVersion "23.0.0"
defaultConfig {
minSdkVersion 14 //lower than 14 doesn't support multidex
targetSdkVersion 22
// Enabling multidex support.
multiDexEnabled true
}
}