Android Studio编译报错“java.lang.OutOfMemoryError: GC overhead limit exceeded

时间:2023-04-17 08:52:08

1.在build.gradle添加脚本指定编译堆内存

  • 如果在整个工程中生效,则在build.gradle中增加如下配置:
android {

..............

      dexOptions {

            incremental true

            javaMaxHeapSize "4g"

        }

...............

}
  • 如果只在单元测试的时候生效,则在build.gradle中增加如下配置:
    android {
    
    ..............
    
        testOptions {
    
            android.dexOptions {
    
                incremental true
    
                javaMaxHeapSize "4g"
    
            }
    
        }
    
    ...............
    
    }
    2.添加gradle的配置文件指定堆内存
    也可以在gradle.properties中修改build环境中的jvmargs参数大小:
    在项目根目录新建gradle.properties文件内容为:
  • ## Project-wide Gradle settings.
    #
    # For more details on how to configure your build environment visit
    # http://www.gradle.org/docs/current/userguide/build_environment.html
    #
    # 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-
    #
    # 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
    #Mon Jun :: CST
    org.gradle.daemon=true
    org.gradle.parallel=true
    org.gradle.jvmargs=-Xmx5120m