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

30

我正在尝试在我的Mac上安装Android Studio,它运行的是OSX 10.9.1 Mavericks。我已经安装了最新的JDK(在写作时为1.7更新45),并且安装了Android Studio。我使用Java 7,因为我有一些Java应用程序需要运行,它们需要1.7版本。我没有安装Java 1.6,因为它又古老又陈旧。从任何启动器启动Android Studio实际上没有任何反应。Activity Manager从未显示其运行状态。我不想安装Java 1.6。

我尝试通过包内容运行可执行文件,并针对两个可执行文件进行了一些工作,但是我收到了以下消息:

错误消息

我不确定我该如何修复此错误。我不是非常擅长Mac(对它仍然很新,并且在这上面进行高级用户操作很困惑),所以如果有人可以帮助我解决问题,那就太好了。我使用的是2013年的Macbook Air,有足够的资源来运行此软件。

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


可能是如何在JDK 1.7 OSX上运行Eclipse Indigo的重复问题。 - Robin Green
官方的Android文档http://tools.android.com/tech-docs/configuration/osx-jdk指出,旧版Java不用于编译代码,而是用于运行IDE,并且在渲染文本方面比Java 7或Java 8更好(具有全亚像素LCD抗锯齿效果)。 - spirographer
6个回答

72

更新于2014年12月11日 从Android Studio 1.0 RC3版本开始,您可以按照这组说明进行操作。

我想通了。您需要编辑安装包中的Android Studio的Info.plist文件,以便使用1.7版本。我不明白为什么Android Studio坚持要求我们安装和使用已过时、容易受攻击的Java版本。

文件位置 - 您需要在应用程序文件夹中打开它 完整分辨率:http://i.stack.imgur.com/yyYaG.png

要打开安装包,您需要在应用程序文件夹中找到Android Studio.app文件,右键单击它并选择“显示包内容”。

编辑plist文件(我认为您可能需要成为root用户),将JVMVersion从1.6*改为1.7*(或1.8*,或您拥有的任何JDK主要版本)。我不明白为什么这样做会有所不同,因为我的原始输出已经显示正在使用1.7版本。

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

4
对我来说,将其更改为1.8*就可以解决问题。所以您很可能需要将其更改为最新的JVM版本。 - ejazz
3
您需要将其设置为您所拥有的JDK主版本。当时不存在1.8版本。 - Mgamerz

20

根据 hasternet 在Android Studio无法找到有效JVM(与MAC OS有关)中的回答,为了快速解决问题,请按照 Mgamerz 的答案打开Finder中的Android Studio(CTRL+单击>显示包内容>Contents>info.plist),并将键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

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

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"

请记住将脚本保存为“Application”。Antonio Jose仅使用了第一行-据我所知,您可以使用.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可以改善字体渲染。谢谢! - John Morales
这是一个非常棒的答案! - Snicolas

3

mgamerz是正确的 - 发布说明提供了更好的解决方案,从rc3开始 - 有一个idea.properties文件(或环境变量)

~/Library/Preferences/AndroidStudio/idea.properties

它还显示了可以用来设置JDK等内容的环境变量

export 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文件! - Uilleann
我遇到了这个错误: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. 你有什么想法为什么在运行应用程序时会出现这个错误? - Zeeshan

2
我在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

1

大家好,我刚刚找到了一个简单的方法来解决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*

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

您已经准备好开始编写第一个Android编程应用程序了。

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

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


运行得非常好。Studio是一个非常棒的黑客工具。 - Gustav

0

我发现从苹果下载额外的Java捆绑包可以解决这个问题。

如果你搜索这个问题,那么我发现第二个链接是一个博客,正好有这个问题,所有的功劳归他 在这里

我知道发布链接不是一个答案,但是从解决方案中可以看出,您需要确保您拥有最新版本的Java和来自苹果的Java捆绑包,因此我还包括了访问这些网站所需的搜索。

这里是下载最新版本Java的地方

如果这个链接失效了,那么在谷歌列表的顶部搜索“java最新版本”即可找到它

这里是下载苹果捆绑包的地方

如果这个链接失效了,那么在谷歌列表的顶部搜索“Java for OS X 2014-001”即可找到它

對我來說,試圖解決這個問題時,最初似乎需要一個解決方法,然後蘋果公司發布了一個官方的解決方法下載,這意味著不再需要在 plist 中進行調整。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接