Android Studio 无法在 Mac OSX (Mavericks) 上加载 JVM

Posted

技术标签:

【中文标题】Android Studio 无法在 Mac OSX (Mavericks) 上加载 JVM【英文标题】:Android Studio failed to load JVM on Mac OSX (Mavericks) 【发布时间】:2014-01-22 09:33:18 【问题描述】:

我正在尝试在我的 Mac 上设置 android Studio。它正在运行 OSX 10.9.1 Mavericks。我已经安装了最新的 JDK(在编写 1.7 更新 45 时),并且我安装了 Android Studio。我使用 Java 7 是因为我必须运行一些 Java 应用程序,它们需要 1.7。我没有安装 Java 1.6,因为它很古老。从任何启动器启动 Android Studio 实际上什么都不做。活动管理器从不显示它正在运行。我不想安装 Java 1.6。

我做了一些工作并尝试通过命令行通过包内容运行可执行文件,对于这两个可执行文件,我都收到以下消息:

我不确定我应该如何解决这个错误。我在 Mac 上不是很熟练(对它仍然有些陌生,并且在这方面做高级用户的东西会让人困惑)所以如果有人能帮我弄清楚那就太好了。我在 2013 年的 Macbook Air 上,有足够的资源来运行它。

更新:这也适用于 Yosemite、El Capitan 以及所有其他可以运行 Android Studio 的 OSX 版本。

【问题讨论】:

How to run Eclipse Indigo on JDK 1.7 OSX的可能重复 Android 官方文档tools.android.com/tech-docs/configuration/osx-jdk 指出旧的 Java 版本不用于编译代码,它用于运行 IDE,它呈现的文本比 Java 7 或 Java 8 更好(全亚像素LCD 抗锯齿)。 【参考方案1】:

2014 年 12 月 11 日更新 从 Android Studio 1.0 RC3 开始,您可以关注 this set of directions 使其工作。

我想通了。您必须在包中编辑 android studio 的 Info.plist 文件,使其使用 1.7。我不明白为什么 Android Studio 坚持要我们安装和使用一个过时的、易受攻击的 Java 版本。

全分辨率:http://i.stack.imgur.com/yyYaG.png

要打开包,您需要在 Applications 文件夹中找到 Android Studio.app 文件并右键单击它 > Show Package Contents。

编辑 plist(我认为您可能需要是 root)并将 JVMVersion 从 1.6* 更改为 1.7*(或 1.8*,或您拥有的任何 JDK 主要版本)。我不明白为什么这会有所不同,因为我的原始输出说它无论如何都使用 1.7。

这个修复似乎适用于所有 IntelliJ 的 IDE(我也在 PyCharm 上看到过),尽管其他的似乎原生支持较新版本的 java。

【讨论】:

对我来说,将其更改为 1.8* 就可以了。所以你可能必须将其更改为最新的 JVMVersion 您将其设置为您拥有的任何 JDK 主要版本。 1.8 当时不存在。【参考方案2】:

mgamerz 是对的 - 发行说明为 rc3 及更高版本提供了更好的解决方案 - 有一个 idea.properties 文件 (或环境变量)

~/Library/Preferences/AndroidStudio/idea.properties

它还显示了您可以使用哪些环境变量来设置 jdk 等内容

导出 STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk

参考:http://tools.android.com/recent/androidstudio1rc3_releasecandidate3released

【讨论】:

我创建了 ~/Library/Preferences/AndroidStudio/idea.properties,其中包含我的 jdk 的路径:STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk 没有编辑需要 Info.plist! 我收到了这个Error:objc[985]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined. 知道为什么它在运行应用程序时会出现吗?【参考方案3】:

正如 hasternet @Android Studio was unable to find a valid Jvm (Related to MAC OS) 所回答的那样 对于快速而肮脏的解决方案,请按照 Mgamerz 的回答;在 Finder 中打开 Android Studio(CTRL+Click > Show Package Contests > Contents > info.plist)并编辑 Key JVMOptions>JVMVersion 从“1.6*”到“1.6+”

Antonio Jose 发现的推荐方法是在 MacOS 中编辑环境变量(不推荐使用 info.plist) 在程序启动时(通过终端而不是图标打开 Studio)

$ export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk
$ open /Applications/Android\ Studio.app

或在每次 MacOS 启动时通过 AppleScript 设置环境:

do shell script "launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk"

do shell script "launchctl setenv STUDIO_PROPERTIES /Users/username/Library/Preferences/AndroidStudio/idea.properties"

do shell script "launchctl setenv STUDIO_VM_OPTIONS /Users/username/Library/Preferences/AndroidStudio/studio.vmoptions"

(请记住将脚本保存为应用程序。Antonio Jose 仅​​使用第一行进行管理 - AFAIK 您可以使用 .properties 和 .vmoptions 来设置其他设置。)

官方说明:http://tools.android.com/tech-docs/configuration/osx-jdk

(Android Studio 想要使用 JRE 1.6 的原因是因为它显然使字体看起来更好 - 随意通过“官方”路线安装 JRE 1.6 @http://support.apple.com/kb/DL1572 - 然后您可以设置SDK位置设置中的JDK到1.8 - local.properties)

【讨论】:

使用苹果官方的jre改进了字体渲染。谢谢! 这么好的答案!【参考方案4】:

嘿朋友们,我刚刚想出了一个简单的方法来为 Mac 用户解决这个问题。

打开终端并输入 -> java -version 然后回车。

输出将是这样的:

现在检查您的 Java 版本。我的 Java 版本是 1.8 所以现在我们需要打开我们的 Android 应用程序的内容。 为此,右键单击 Android.app,然后选择显示内容 像这样

现在会有Content文件夹,打开那个文件夹,你会发现Info.plist

打开这个 info.plist 你会看到这个。

在此展开JVM

这里你会看到 JVM 版本显示 1.6* 但我们的 jvm 版本是 1.8(例如我的 jvm 版本是 1.8)

所以我们需要根据我们的jvm版本来改变这个数字,所以我把它改成了1.8*版本

然后点击保存。你完成了。 现在您将看到设置向导正在运行

你已经准备好开始你的第一个安卓编程应用了。

这是 Mac X 中 Android Studio 设置的整个 Docx 文件

链接:https://www.dropbox.com/s/9jwjebn5hgydyll/Android%20Studio%20Setup%20on%20Mac.docx?dl=0

【讨论】:

效果很好。 Studio 简直就是个黑客。【参考方案5】:

我发现从 Apple 下载一个额外的 Java 包解决了这个问题。

如果你搜索这个问题,那么我发现第二个链接指向一个有这个问题的博客,所有的功劳归于他here

我知道发布链接不是答案,但正如您从决议中看到的那样,您需要确保您拥有最新版本的 Java 以及来自 Apple 的 Java 捆绑包,因此我还包括访问这些网站所需的搜索。

Here is where to download the latest version of Java

如果此链接已损坏,则搜索“java 最新版本”会将其返回到 Google 列表的顶部

Here is where to download the Apple Bundle

如果此链接已损坏,则搜索“Java for OS X 2014-001”会将其返回到 Google 列表的顶部

对于试图解决这个问题的我来说,最初它似乎是一个需要解决的问题,然后 Apple 发布了一个官方解决下载问题的解决方案,这意味着不再需要摆弄 plist。

【讨论】:

【参考方案6】:

我在 Mac 终端上执行了以下命令来解决此问题,请确保 java 版本和路径。

$java -version
 java version "1.8.0_25"
 Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
 Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

$ export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk
$ open /Applications/Android\ Studio.app

【讨论】:

以上是关于Android Studio 无法在 Mac OSX (Mavericks) 上加载 JVM的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Mac OS 上的 Android Studio 中创建新项目 [关闭]

如何在 Mac os 上的 Android Studio 中给 Flutter SDK Path

Android Studio Emulator : Unhandled exit 1d (Mac OS : Big Sur Beta)

在Mac OS X下安装Android Studio

Android Studio 快捷键 for Mac OS X

Android Studio – 在 Mac OS 上通过 Wi-Fi 运行和调试构建 [重复]