Android Studio gradle构建OutOfMemoryError

时间:2017-09-11 10:40:06

标签: android android-studio android-gradle

在经过1-2分钟运行的几个构建之后,Gradle会一直运行(尝试等待30分钟),我唯一的解决方案是强制关闭Android Studio并重新启动。然后我可以再次建造,但过了一段时间,Gradle又被卡住了。然后我可以重复这个流程。 当我打开Activity Monitor时,它看起来像这样:enter image description here

以下是我的一些gradle设置:

compileSdkVersion 26
buildToolsVersion "26.0.1" 
dexOptions {
    preDexLibraries true
    javaMaxHeapSize "4G"
}
productFlavors {
    production {
        dimension "prod"
    }
    development {
        minSdkVersion 21
        resConfigs("en", "xxhdpi")
        aaptOptions {
            cruncherEnabled = false
        }

        ext.enableCrashlytics = false
        dimension "prod"
    }
}

gradle.properties:

org.gradle.parallel=true
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

我的gradle设置

buildscript {
repositories {
    jcenter()
    maven { url 'https://maven.google.com' }
}
dependencies {

    classpath 'com.android.tools.build:gradle:3.0.0-beta5'
    classpath 'com.google.gms:google-services:3.0.0'

}
}

25分钟后我收到此消息(错误:java.lang.OutOfMemoryError:Java堆空间): enter image description here

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

尝试在gradlew中替换:

GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""

通过

GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\" \"-Xmx1024m\" \"-Xms256m\" \"-XX:MaxPermSize=1024m\""

使用jvmargs,您只为任务或JVM指定内存。但是对于您的错误,您应该为Gradle提供内存,这应该通过在GRADLE_OPTS环境变量中指定来完成。

jvmargs=-Xmx2048m -XX:MaxPermSize=512m

完全不同于

GRADLE_OPTS="$GRADLE_OPTS \"-Xmx1024m\" \"-Xms256m\" \"-XX:MaxPermSize=1024m\""

您可以在gradle目录中左侧窗格的Project View中找到项目的gradlew

来源:https://groups.google.com/forum/#!msg/adt-dev/BY3GEIVGumU/ogYYDaWf-8gJ