Android Studio - 无法识别的VM选项'MaxPermSize = 256m'

Cae*_*m95 12 java android android-studio

我刚刚在Elementary OS 0.3 Freya上安装了Android Studio并使用终端运行它.但是,在我第一次启动时,会显示一条错误消息:

Gradle'Test'项目刷新失败

无法启动守护程序进程.此问题可能是由守护程序的错误配置引起的.例如,使用无法识别的jvm选项.请参阅http://gradle.org/docs/2.2.1/userguide/gradle_daemon.html上守护程序的用户指南章节. 请阅读以下流程输出以了解更多信息:

无法识别的VM选项'MaxPermSize = 256m'错误:无法创建Java虚拟机.错误:发生了致命异常.程序将会退出.

我读了这个并尝试了解决它的所有方法,但无济于事.我确实注意到他的错误与我的有些不同,并认为这可能是我无法使用建议的方式解决我的问题的原因.

当我在终端上执行.sh文件时,它打印出:

Java HotSpot(TM)服务器VM警告:忽略选项MaxPermSize = 250m; 支持在8.0中删除

(java:5094):Gtk-WARNING**:无法在module_path中找到主题引擎:"pixmap"

Gtk-Message:无法加载模块"canberra-gtk-module"

我不确定它是否与错误有关.请帮忙.

Pha*_*e P 42

就我而言,我有一条线

org.gradle.jvmargs=-Xmx6408m -XX:MaxPermSize=6408m -XX:+HeapDumpOnOutOfMemoryError
Run Code Online (Sandbox Code Playgroud)

在我的gradle.properties项目结构文件中。

-XX:MaxPermSize=6408m从该文件中删除修复了一个问题


Red*_*ght 33

-XX:MaxPermSize在 JDK 8 中已弃用,在 JDK 16 中标记为过时,并在 JDK 17 中删除。它已被该-XX:MaxMetaspaceSize选项取代。

改变-XX:MaxPermSize-XX:MaxMetaspaceSize解决我的问题。

参考:

  1. https://github.com/expo/expo-cli/issues/4196#issuecomment-1035850918
  2. https://docs.oracle.com/en/java/javase/17/docs/specs/man/java.html#removed-java-options


pio*_*hen 9

正如在此主题中已经说过的那样,在您的案例中使用的Java 8中删除了Permanent Generation.我认为,最简单的解决方案是在程序执行期间删除与Permanent Generation相关的参数.

转到Android Studio的目录.然后转到bin/子目录.找到以下文件,其中包含Java虚拟机选项:

  • studio.vmoptions
  • studio64.vmoptions

打开这些文件并找到带MaxPerSize参数的行.它应该如下所示:

XX:MaxPermSize=256m

在两个文件中删除此行.我不知道您使用的是32位还是64位操作系统,因此您可以更新这两个文件以防万一.

我不确定它是否会解决你的问题,但我会在这种情况下尝试.就我而言,使用此选项和Java 8,我只是收到警告,但Android Studio仍会启动.删除此参数后,Android Studio仍会启动,但不会发出警告.我正在使用Ubuntu 14.04 LTS.

编辑:

此处描述的此问题还有另一种解决方案:https://stackoverflow.com/a/27913562/1150795.

转到文件>其他设置>默认项目结构> JDK位置并检查路径.

对于Ubuntu Linux,/usr/lib/jvm/java-7-oracle如果我们使用Oracle JVM ,我们可以设置为默认JDK.JDK 7是Android最安全的选择.