我有一个应用程序。我通过
gradlew run-app
或调试
gradlew debug-app
它的工作。我如何传递'-Xmx'参数到我运行的应用程序(调试)?有可能这样做没有编辑build.gradle
文件?
我找到了这个Gradle unknown command-line option '-X'
当我尝试
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_USER_HOME
目录中创建一个文件gradle.properties
(默认情况下,它是USER_HOME/.gradle)。
org.gradle.jvmargs=-XX\:MaxHeapSize\=4256m -Xmx4256m -Xms2000m
我还尝试将org.gradle.jvmargs=-Xmx2000m
放在项目文件夹gradle.properties
中。
即使这样,当我运行应用程序时,我也会看到提交的内存大小〈520 MiB
这是我将其作为普通Java应用程序运行的时候
在第二种情况下,当我使用-Xms、-Xmx将应用程序作为普通Java应用程序运行时,提交的内存大小大约为3.5 GiB,因为我传递了-Xmx4512m -Xms2512m
参数。
4条答案
按热度按时间zd287kbt1#
将以下内容添加到
gradle.properties
文件中:从here开始
组织.分级.jvmargs
指定用于守护程序进程的jvmargs。此设置对于调整内存设置特别有用。目前,默认设置在内存方面非常慷慨。
编辑:我的答案是,gradle守护进程JVM怎么办,而不是app JVM。
用于启动进程的JVM的额外参数。不包括系统属性和最小/最大堆大小。
mklgxw1f2#
首先,感谢@ToYonos为我指引了正确的方向。
第二,我在这里找到了解决方案https://stackoverflow.com/a/9648945/4587961。我从命令行运行我的应用程序。
注意,CMD Windows命令SET在本地工作,所以如果您关闭终端,
GRADLE_OPTS
将不会被设置对于Linux,您可以使用这就是我想要达到的目标。
tquggr8v3#
使用应用程序插件时,可以使用applicationDefaultJvmArgs属性
这些参数将应用于runtask和应用程序的启动脚本
more info
g6ll5ycj4#
在我的情况下,使缓存无效并重新启动android studio(自动重新启动),然后重新启动android studio后错误将消失
那么