我已升级到 Android Studio 2.1,但在尝试构建和运行我的公司大项目时出现此错误:
任务 ':app:transformClassesWithDexForMyAppDebug' 执行失败。com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError:超过GC开销限制
我搜索了论坛并禁用了即时运行,还写信给我的 build.gradle:
dexOptions {
incremental true
javaMaxHeapSize "6g"
}
...
dependencies{
compile 'com.android.support:multidex:'
}
但它并没有解决我的问题。我在我的 gradle 中启用了 multidex,因为没有它我会收到错误:
com.android.dex.DexIndexOverflowException:方法 ID 不在 [0, 0xffff] 中:65536
所以这就是它的解决方案,它以前与 Android Studio 的早期版本一起工作(也为公司中使用 Android Studio 1.4-2.0 的其他人工作)但不适合我,因为我升级了我的 Android Studio。
有谁知道什么会导致问题?
有趣的是,如果我只是制作项目,我不会得到错误,只有当我尝试运行它时。任何想法表示赞赏!
编辑1:
还有什么有趣的,如果我重新启动我的 android studio,第一次运行成功,但第二次没有。
编辑2:
如果我将堆大小设置为比应用程序更大(如 8-10g),甚至不会在第一次运行时编译。
编辑 3:
似乎问题在于即时运行,如果我强制 android studio 不使用它(例如一次部署到两个设备或更改 gradle.properties 就像答案中一样),错误就会消失。