经过几个小时的努力,从Eclipse导入的旧项目使用Gradle并进入Android Studio v0.1.3 ......我现在所做的是我可以在命令行上实际构建,但是当我在 Studio中构建/重建项目我得到:
Gradle:
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':EpicMix'.
> Failed to notify project evaluation listener.
> A problem occurred configuring project ':facebook'.
> Failed to notify project evaluation listener.
> java.lang.OutOfMemoryError: PermGen space
这不是一个巨大的项目,有一些小的子项目(包括Facebook),所以我不认为它真的是内存。我只是无法弄清楚这是什么......
答案 0 :(得分:114)
对于那些从命令行运行gradle的人,创建一个 gradle.properties 文件,将其放在项目的根目录中,然后添加以下内容:
org.gradle.jvmargs=-XX:MaxPermSize=512m
答案 1 :(得分:43)
PermGen空间的大小可以在Android Studio中的File>下增加。设置>编译器。查找名为“Additional compiler process VM options”的设置。只需添加以下参数:
-XX:MaxPermSize=512M
默认值为92M。如果要指定以千兆字节为单位的值,请使用G.
答案 2 :(得分:14)
如果您使用的是Mac OS X,则可以在文件内增加MaxPermSize
/Applications/Android Studio.app/bin/idea.vmoptions
答案 3 :(得分:12)
建议的JVM参数设置方法,例如max PermGen size,遵循此处给出的建议 - http://tools.android.com/tech-docs/configuration
Android Studio 2.0及更新版
从Android Studio 2.0开始,可以直接从IDE访问配置文件。
使用Help->Edit Custom VM Options
菜单。
从配置页面中,完整的JVM参数集如下,以及它们的默认值:
-Xms128m
-Xmx750m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=96m
-XX:+UseCompressedOops
旧版说明:
您应该创建自己的 studio.vmoptions 文件,并将您的JVM设置放在此处。您的文件的位置应为:
- Mac OS 〜/ Library / Preferences / AndroidStudio / studio.vmoptions
- Linux 〜/ .AndroidStudio / studio.vmoptions (或〜/ .AndroidStudio / studio64.vmoptions)
- Windows:%USERPROFILE%。Android Studio \ studio.exe.vmoptions (或%USERPROFILE%。Android Studio \ studio64.exe.vmoptions)
请注意,您不应再编辑AndroidStudio app目录中的文件,因为每次安装/更新IDE都会覆盖这些文件。
答案 4 :(得分:4)
另外,this对我有用 - 如果你在Linux中,只需将环境变量GRADLE_OPTS设置为“-XX:MaxPermSize = 512m”(或任何你想要的大小)。
答案 5 :(得分:1)
尝试将此添加到 gradle.properties :
org.gradle.jvmargs=-XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m -Dfile.encoding=utf-8
答案 6 :(得分:1)
您可以拥有gradle.properties
文件,然后添加以下内容。
创建或修改~/.gradle/gradle.properties
以包含以下内容
org.gradle.daemon=false
GRADLE_OPTS="-Xmx2048m -Xms2048m -XX:MaxPermSize=1024m"
org.gradle.jvmargs=-XX:MaxPermSize=1024m
答案 7 :(得分:0)
在每次构建或清理时,都会启动几个java进程,导致Out of Memory错误。
蛮力解决方案:
在任何构建或运行之前杀死java.exe进程。这将对使用java的任何其他活动应用程序产生副作用。
[Android Studio 1.4 - JRE 1.7.0_75-b13]
答案 8 :(得分:0)
在Mac上转至〜/ .gradle并删除缓存和守护程序文件夹。这些都会重生。
答案 9 :(得分:0)
在Gradle构建文件中,在test {}块中添加以下jvmArgs以增加perm-gen空间分配:
test {
jvmArgs "-XX:MaxPermSize=1024m"
}