Android Studio 2.2,Gradle构建失败,出现java.lang.OutOfMemoryError:无法创建新的本机线程。

5

我刚升级到了Android Studio 2.2版本,但由于Gradle构建总是失败,多次出现 java.lang.OutOfMemoryError: unable to create new native thread 错误,导致无法构建我的项目。

从我的研究来看,这似乎更与我的操作系统(OSX El Capitan)有关,而不是与Gradle本身有关。然而,我已经尝试了几种解决方法,但都没有成功。

我的 studio.vmoptions 文件如下:

# custom Android Studio VM options, see http://tools.android.com/tech-docs/configuration
-Xms128m
-Xmx750m
-XX:MaxPermSize=512m
-XX:ReservedCodeCacheSize=96m
-XX:+UseCompressedOops
-XX:+HeapDumpOnOutOfMemoryError

ulimit -a 命令会给我以下输出:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 256
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 709
virtual memory          (kbytes, -v) unlimited

我尝试过增加我的最大用户进程数,但没有效果。还有其他人遇到这个问题吗?我的当前JDK版本为1.8.0_102。


在清单中设置maxheap为true。 - D.J
@Bansal 我认为这是为了使应用程序能够使用更大的堆,但我的问题发生在我甚至无法编译我的应用程序之前。我的错误发生在IDE中的Gradle同步期间。 - mylovemhz
3个回答

7

我的项目在升级之前可以顺利构建,但现在出现了同样的问题。

将gradle从2.2.0切换回2.1.3即可解决问题。

buildscript {
    ...
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.3'
    }
}


0
返回到build.gradle文件中的gradle 2.1.3版本。

你的回答与被接受的答案相比没有提供额外的信息。请考虑改进或删除它。现在这样,它可能会被修订队列移除。谢谢。 - lrnzcig

0
如果有人遇到和我一样的问题,请尝试禁用Instant Run。我必须采取以下步骤才能成功构建: - 在提示时升级gradle 2.2.3 - 在AS首选项中禁用Instant Run - 在build.gradle中回退到gradle 2.1.3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接