我有一个申请。我通过
运行它gradlew run-app
或调试
gradlew debug-app
有效。我如何通过' -Xmx'我运行的应用程序(调试)的参数?
是否可以在不编辑build.gradle
文件的情况下这样做?
尝试
时出现类似错误gradlew debug-app -Xmx2000m
错误
FAILURE: Build failed with an exception.
* What went wrong:
Problem configuring task :debug-app from command line.
> Unknown command-line option '-X'.
我尝试在gradle.properties
目录中创建文件GRADLE_USER_HOME
(默认情况下,它是USER_HOME / .gradle)。
org.gradle.jvmargs=-XX\:MaxHeapSize\=4256m -Xmx4256m -Xms2000m
我还尝试在项目文件夹org.gradle.jvmargs=-Xmx2000m
中gradle.properties
。
即便如此,当我运行应用程序时,我看到Commited Memory大小是< 520 MiB
这是我将其作为普通Java App运行的时候
在第二种情况下,当我使用-Xms,-Xmx作为普通Java应用程序运行应用程序时,Commited Memory大小约为3.5 GiB,因为我传递了-Xmx4512m -Xms2512m
个参数。
答案 0 :(得分:7)
使用应用程序插件可以使用 applicationDefaultJvmArgs 属性
apply plugin: 'application'
applicationDefaultJvmArgs = ["-Xms1024m", "-Xmx2048m"]
参数将应用于运行任务并启动应用程序的脚本
答案 1 :(得分:5)
在gradle.properties
文件中添加:
org.gradle.jvmargs=-Xmx2000m
来自here
<强> org.gradle.jvmargs 强>
指定用于守护程序进程的jvmargs。设置是 特别适用于调整内存设置。此刻 默认设置对内存非常慷慨。
编辑:我的答案是关于gradle守护进程jvm,而不是app jvm。您必须使用jvmArgs property
用于为进程启动JVM的额外参数。才不是 包括系统属性和最小/最大堆大小。
答案 2 :(得分:5)
首先,感谢@ToYonos带领我走向正确的方向。
其次,我在这里找到了解决方案https://stackoverflow.com/a/9648945/4587961。 我从命令行运行了我的应用程序。
set GRADLE_OPTS=-Xms1724m -Xmx5048m
gradlew debug-app
注意,CMD Windows命令SET在本地工作,因此如果您关闭终端,则不会设置GRADLE_OPTS
。对于Linux,您可以使用
export GRADLE_OPTS=WHATEVER
这就是我想要实现的目标。