【问题标题】:Android Studio - Unrecognized VM option 'MaxPermSize=256m'Android Studio - 无法识别的 VM 选项“MaxPermSize=256m”
【发布时间】:2015-07-14 16:14:15
【问题描述】:

我刚刚在 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 虚拟机。错误:发生了致命异常。程序 将退出。

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

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

Java HotSpot(TM) 服务器虚拟机警告:忽略选项 MaxPermSize=250m; 8.0 中移除了支持

(java:5094): Gtk-WARNING **: 无法在其中找到主题引擎 模块路径:“像素图”

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

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

【问题讨论】:

  • 您使用的是 Java 8 吗?我相信他们在那个版本中删除了 PermGen。尝试删除 PermSize 参数。
  • @KevinQiu 是的,凯文。我的 JDK 版本是 1.8.0_45。你能教我如何删除 PermSize 参数吗?抱歉,这里是安卓新手。
  • 您可以尝试 grepping 浏览您的项目目录以查看 vm 参数的设置位置。
  • 删除 ~\.gradle 目录 (@home) 并重新启动 AS。见:stackoverflow.com/a/27516679/483588
  • 请注意,我在gradle.properties 文件中的org.gradle.jvmargs 键下有这个(出于某种原因)。值得检查。如果没有,也值得检查它是否在您的项目中的某个地方grep -r MaxPermSize .

标签: java android android-studio


【解决方案1】:

就我而言,我有一条线

org.gradle.jvmargs=-Xmx6408m -XX:MaxPermSize=6408m -XX:+HeapDumpOnOutOfMemoryError

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

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

【讨论】:

    【解决方案2】:

    正如在这个线程中已经说过的那样,Permanent Generation was removed in Java 8,在你的情况下使用。我认为,最简单的解决方案是在程序执行期间删除与永久代相关的参数。

    转到您拥有 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,如果我们使用 Oracle JVM,我们可以将 /usr/lib/jvm/java-7-oracle 设置为默认 JDK。 JDK 7 是 Android 最安全的选择。

    【讨论】:

    • 不幸的是,JDK 7 选项似乎不再可行,或者至少对于普通开发人员来说是可行的,但 Android Studio 尚未更新。
    【解决方案3】:

    在我的情况下打开 $ANDROID_HOME/tools/lib/monitor-x86_64/monitor.ini 并删除

    XX:MaxPermSize=256m

    它完成了这项工作。

    【讨论】:

      【解决方案4】:

      哦,我已经解决了这个问题,当 android studio 在 JDK 6 或 JDK 7 上运行时,我安装了 Oracle JDK 9(如果我没记错的话)。 所以我卸载了 Oracle JDK 9,然后下载并安装了 JDK 7。

      【讨论】:

        【解决方案5】:

        在 MacOS 上,./gradlew 中的以下子句注入此选项:

        # For Darwin, add options to specify how the application appears in the dock
        if $darwin; then
          GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\" \"-Xmx1024m\" \"-Xms256m\" \"-XX:MaxPermSize=1024m\""
        fi
        

        该文件可以在项目生成后手动编辑。

        【讨论】:

          【解决方案6】:

          我遇到了同样的问题,我可以通过直接在终端中添加来解决它

          导出 JAVA_VERSION=1.8

          然后试试

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2018-04-17
            • 2015-11-07
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-10-24
            • 1970-01-01
            相关资源
            最近更新 更多