gpt4 book ai didi

android - 即时运行 java.lang.OutOfMemoryError : GC overhead limit exceeded

转载 作者:可可西里 更新时间:2023-11-01 18:55:52 26 4
gpt4 key购买 nike

我已升级到 Android Studio 2.1,但在尝试构建和运行我的企业大项目时出现此错误:

Execution failed for task ':app:transformClassesWithDexForMyAppDebug'. com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded

我已经通过论坛搜索并禁用了即时运行,也写信给我的build.gradle:

dexOptions {
incremental true
javaMaxHeapSize "6g"
}
...
dependencies{
compile 'com.android.support:multidex:'
}

但这并没有解决我的问题。我在我的 gradle 中启用了 multidex,因为没有它我得到了错误:

com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

所以这就是它的解决方案,它之前适用于以前版本的 Android Studio(也适用于公司中使用 Android Studio 1.4-2.0 的其他人)但不适用于我,因为我升级了我的 Android工作室。

有谁知道是什么导致了这个问题?

同样有趣的是,如果我只是制作项目,我不会收到错误,只有当我尝试运行它时。任何想法表示赞赏!

编辑 1:

同样有趣的是,如果我重新启动我的 android studio,第一次运行成功,但第二次运行失败。

编辑 2:

如果我将堆大小设置为比应用程序更大(例如 8-10g),甚至在第一次运行时都无法编译。

编辑 3:

问题似乎出在 instant run 上,如果我强制 android studio 不使用它(比如同时部署到两个设备或像答案中那样更改 gradle.properties),错误就会消失.

最佳答案

将此添加到您的 gradle.properties 文件中。

# The Gradle daemon aims to improve the startup and execution time of Gradle.
# When set to true the Gradle daemon is to run the build.
org.gradle.daemon=true

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true

# Enables new incubating mode that makes Gradle selective when configuring projects.
# Only relevant projects are configured which results in faster builds for large multi-projects.
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
org.gradle.configureondemand=true

找到 Here

在我的 build.gradle 上:

....
dexOptions
{
incremental false
javaMaxHeapSize "2048M"
preDexLibraries = false
}//end dexOptions

....

关于android - 即时运行 java.lang.OutOfMemoryError : GC overhead limit exceeded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36643102/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com