Android stdio gradle更新后 项目出错 无法编译

gradle更新后项目出错。

我的版本:

android studio 3.0.1

gradle 2.3.3

查看错误报告可知

Error:Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the user guide chapter on the daemon at https://docs.gradle.org/3.3/userguide/gradle_daemon.html
Please read the following process output to find out more:
-----------------------
Error occurred during initialization of VM
Could not reserve enough space for 1572864KB object heap

错误是在VM虚拟机初始化时候出错的。是堆分配时内存不足导致

此时打开项目的gradle.properties 文件

可以看到其中有一个关于jvm的分配设置

将其中的 org.gradle.jvmargs=-Xmx1536m

改小一些,即可成功编译

如 org.gradle.jvmargs=-Xmx512m(大小是针对自己的电脑内存情况而言)

ps:-Xmx:JVM 允许分配的最大堆内存

还有:

-Xms:JVM 起始分配的堆内存
-XX:MaxPermSize:JVM 最大允许分配的非堆内存
-XX:ReservedCodeCacheSize:JIT 编译后的最大代码缓存

这一个修改只是只是针对这一个项目而言,对于其他项目很可能还是有这样的错误,

要一劳永逸的修改,可以到如下的安装目录下,写配置文件,解决。

/home/用户名/.gradle/ (Linux)
/Users/用户名/.gradle/ (Mac)
C:\Users\用户名\.gradle (Windows)

例如,Windows系统中,打开其中的.gradle目录,新建gradle.properties文件。

输入:

 org.gradle.jvmargs=-Xmx1024m -XX:MaxPermSize=512m

保存后,以后所有新建的项目都会以此为默认配置

新建项目后,可以看到项目中的gradle.properties中,并不是在配置文件中的值,这是因为配置文件的值是一种覆盖。

配置文件中org.gradle.jvmargs=-Xmx1024m 覆盖了 项目文件中设置。

其实,这个涉及到android studio 调优的知识,更细节的可以看篇文章。

8个技巧倍速提升Gradle构建

猜你喜欢

转载自blog.csdn.net/xapxxf/article/details/84622985