我已经将Android Studio 3.x升级到3.4(使用Grade插件(,现在,我的项目的构建非常非常长,并且有一个最终错误(在构建4-5分钟后(:
> Task :app:compileDevelopmentDebugJavaWithJavac
Gradle may disable incremental compilation as the following annotation processors are not incremental: butterknife-compiler-10.1.0.jar (com.jakewharton:butterknife-compiler:10.1.0), esperandro-2.6.0.jar (de.devland.esperandro:esperandro:2.6.0).
Consider setting the experimental feature flag android.enableSeparateAnnotationProcessing=true in the gradle.properties file to run annotation processing in a separate task and make compilation incremental.
Note: [1] Wrote GeneratedAppGlideModule with: [com.bumptech.glide.integration.okhttp3.OkHttpLibraryGlideModule]
warning: No SupportedSourceVersion annotation found on de.devland.esperandro.processor.EsperandroAnnotationProcessor, returning RELEASE_6.
warning: Supported source version 'RELEASE_6' from annotation processor 'org.gradle.api.internal.tasks.compile.processing.TimeTrackingProcessor' less than -source '1.8'
The system is out of resources.
Consult the following stack trace for details.
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.lang.StringCoding$StringEncoder.encode(StringCoding.java:300)
at java.lang.StringCoding.encode(StringCoding.java:344)
在此升级(今天早上完成(之前,一切正常。请问你有一些调查方法吗?
build.gradle:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
// https://developer.android.com/studio/releases/gradle-plugin.html
classpath 'com.android.tools.build:gradle:3.4.0'
// https://developers.google.com/android/guides/google-services-plugin
classpath 'com.google.gms:google-services:4.2.0'
classpath 'com.google.firebase:firebase-plugins:1.2.0'
// https://github.com/JakeWharton/butterknife
classpath 'com.jakewharton:butterknife-gradle-plugin:10.1.0'
}
}
gradle-wrappers.properties:
distributionUrl=https://services.gradle.org/distributions/gradle-5.1.1-all.zip
增加 Gradle 构建系统可用的内存。
将其放入您的gradle.properties
文件中:
org.gradle.jvmargs=-Xmx2g
mx
表示最大内存,2g
表示两千兆字节。
如果已经有org.gradle.jvmargs
请在末尾添加-Xmx2g
。如果有旧-Xmx
,请将其移除。
应用所需的 GB 不应超过 3 GB。 添加更多 GB 并不一定能提供更好的性能。
如果您还使用 options.fork
,请尝试 options.forkOptions.setMemoryMaximumSize("2g"( 。
对我来说,org.gradle.jvmargs
或javaMaxHeapSize
不起作用。所以我注释掉了很多gradle脚本命令来诊断导致问题的原因,并找到了options.fork
。
删除options.fork
也可以。