Android Studio无法find有效的Jvm(与MAC OS相关)

我无法在Mac OS上启动Android Studio for Android开发(10.10.1 – Yosemite)

在Finder中打开Android Studio的应用程序包,然后编辑Info.plist文件。 更改关键的JVMversion。 把1.6+而不是1.6 *。 这对我有用!

干杯!

编辑:

虽然这在旧版Android Studio中是必需的,但不再推荐。 看官方声明

“请注意:不要编辑Info.plist来select不同的版本,这不仅会破坏应用程序签名,而且会破坏您的安装的未来补丁更新。

安东尼奥·何塞的答案是正确的。

感谢aried3r!

只要在这里安装这个人

http://support.apple.com/kb/DL1572?viewlocale=en_US&locale=en_US

你应该很好。

[更新]
这在Android Studio 1.1 https://issuetracker.google.com/issues/37015035中得到解决;

在Android Studio的下一个版本中,如果找不到java 6,但find了7(或更大),那么它将使用它。 由于改进了字体渲染,我们仍然推荐使用Java 6来运行studio,但是如果仅findjava 8,则不需要工作。

[结束更新]

从Android Studio 1.0 RC3笔记

从RC 3开始,我们有了一个更好的机制来为所有三个平台上的发射器定制属性。 您不应该在IDE安装目录中编辑任何文件。 相反,您可以通过在以下目录中创build自己的.properties或.vmoptions文件来自定义属性。 (这在以前的某些平台上是可行的,但是它需要你复制和改变文件的全部内容,而最新的变化是这些属性现在是相加的,这样你就可以设置你所关心的属性,其余的将使用IDE安装中的默认值)。

然而,没有解释有什么select。

search一下后,我发现这一点
在Mac上调整Android Studio的VM选项
IntelliJ IDEA 14.0.0 Web帮助/文件IDEA.Properties

但是,没有运气。

幸运的是,我能够使用1.0 RC3版本说明中所述的环境variables,在优胜美地上解决这个问题。

您也可以使用环境variables指向其他地方的特定覆盖文件:
STUDIO_VM_OPTIONS,其中vmoptions文件使用
STUDIO_PROPERTIES,使用哪个属性文件
STUDIO_JDK,运行studio的JDK

这是有点棘手,因为Android Studio不是一个命令行应用程序,所以我不得不使用AppleScript命令设置login时的环境variables。 更多信息在这里

这是我的命令行的launchctl命令。

launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk 

而这个我的AppleScript(记得把它保存为一个应用程序)

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

关于launchctl,请看这里

请注意,最后一个variables允许您在OSX上运行带有Java 7的Android Studio(通常从Info.plist中指定的版本中selectJava 6):

$ export STUDIO_JDK = / Library / Java / JavaVirtualMachines / jdk1.7.0_67.jdk

$ open / Applications / Android \ Studio.app

为我工作

Info.plist更改此项

我改变了

 <key>JVMVersion</key> <string>1.6*</string> 

 <key>JVMVersion</key> <string>1.8*</string> 

现在它工作正常..

编辑:
根据上文提到的官方声明,安东尼奥·何塞的解决scheme是正确的。

谢谢!

作为新手用户,我花了一段时间才了解如何以正确的方式解决这个问题。 在search并低估了许多答案后,我出来了以下步骤,你需要按照解决这个问题。

请注意:

虽然最简单的解决scheme是更新android studio的Info.plist 。 但不build议,也不是解决问题的正确方法。

官方声明 – “请注意:不要编辑Info.plist来select不同的版本,这不仅会破坏应用程序签名,还会破坏您的安装的未来补丁更新。

第一个解决scheme:如果从命令行运行Android Studio,可以将这两行添加到.bash_profile中

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

从下次你打开你的terminal,你的工作室将自动启动。

第二种解决scheme:如果您想从UI运行Android Studio(通过点击Icon),请按以下步骤操作:

  1. 在Mac上打开脚本编辑器 (可以在聚光灯下find它)
  2. 复制下面的行

    做shell脚本“launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk”

注意: –根据你的版本更改jdk版本。 要检查您正在使用打开terminal的版本并运行以下命令

 java -version 

3.现在保存(⌘+ s)作为文件格式: 应用程序 。 最后打开“ 系统设置”→“用户和组”→“login项目”,并添加刚刚创build的新应用程序。

  1. 注销并再次login,或者您也可以手动运行该应用程序。

woolaaaa …完成了。

参考文献

安东尼奥·何塞的答案

ruario的答案

我也使用Mac OS X 10.10。 并解决这个问题。

  1. 打开Android Studio应用程序包内容(右键单击应用程序文件夹中的Android Studio图标)
  2. 打开文件Infor.plist
  3. search并replace:

     <key> JVM version</key> <string>1.6*</string> 

取而代之:

  <key> JVM version</key> <string>1.6+</string> 

而已!

在Mac OS X Yosemite上安装:

Java SE开发工具包8

Java版本8更新25

这一切,为我工作!

  1. 安装最新的JDK(8u102电stream)
  2. 设置STUDIO_JDKvariablesSTUDIO_JDKjava_home输出Java的家目录和sed条两个文件夹来获取jdk目录)

    launchctl setenv STUDIO_JDK `/usr/libexec/java_home -version 1.8 | sed 's/\/Contents\/Home//g'`

  3. 像平常一样启动Android Studio

每次重启都设置STUDIO_JDK

以上步骤仅适用于当前会话。 以下是如何在/ Library / LaunchDaemons中创build一个在每次启动时运行上述命令的plist文件:

 sudo defaults write /Library/LaunchDaemons/com.google.studiojdk Label STUDIO_JDK sudo defaults write /Library/LaunchDaemons/com.google.studiojdk ProgramArguments -array /bin/launchctl setenv STUDIO_JDK `/usr/libexec/java_home | sed 's/\/Contents\/Home//g'` sudo defaults write /Library/LaunchDaemons/com.google.studiojdk RunAtLoad -bool TRUE 

发现了关于plist技巧感谢http://www.dowdandassociates.com/blog/content/howto-set-an-environment-variable-in-mac-os-x-launchd-plist/

在Android工具项目网站上,有一个很好的解释Mac OSX JDKselect 。 它解决了我的问题。 综上所述:

Android Studio需要两个不同的JDK:

  • IDE本身运行的Java版本。
  • 它用来从中获取Java编译器的JDK版本

这两个可以(通常是)相同,但是可以单独configuration它们。 而在OSX上,他们往往会有所不同。

和优胜美地(Mac OSX 10.10)问题:

首先,请确保您安装了最新版本的Java 6; 在某些情况下已经解决了问题: http : //support.apple.com/kb/DL1572

如果没有,请尝试运行最新版本的Java 7或Java 8,而不是像上面描述的那样设置STUDIO_JDK。 据报道,这已经解决了其他问题(虽然你会得到上面显示的Java 8的字体渲染)。

当我更新到OS X El Capitan时,Java被卸载。

查看重新安装Java之前和之后terminal的屏幕截图。

在这里输入图像描述

要重新安装Java,请按照Android Studio对话框中提供的链接进行操作。

在这里输入图像描述

重新安装Java安装后,Android Studio再次运行。

编辑包中的android studio的Info.plist文件,以便它使用1.7或者任何你已经安装的JVMVersion。 更改JVMVersion为1.6+,而不是1.6 *,因为上面的回答也应该工作。

以上的工作,但不build议看到RC3发行说明

从RC 3开始,我们有了一个更好的机制来为所有三个平台上的发射器定制属性。 您不应该在IDE安装目录中编辑任何文件 。 相反,您可以通过在以下目录中创build自己的.properties或.vmoptions文件来自定义属性。 (这在以前的某些平台上是可行的,但是它需要你复制和改变文件的全部内容,而最新的变化是这些属性现在是相加的,这样你就可以设置你所关心的属性,其余的将使用IDE安装中的默认值)。

请参阅Android Studio无法在Mac OSX上加载JVM(小牛)

我有同样的问题,并用这种方式修复:

您应该从官方Apple页面安装Java。

http://support.apple.com/kb/DL1572

这一个工作对我来说,非常简单,只是出口环境variables。 但确保你有第一个有效的JVM。

https://code.google.com/p/android/issues/detail?id=82378

在Mac OS X Yosemite上安装:

Java SE开发工具包8

Java版本8更新25

这一切,为我工作呢! 像gehev说,这么简单!

您可以使用用户的启动代理来实现STUDIO_JDK解决scheme。 这涉及在位于~/Library/LaunchAgents LaunchAgents目录中创build一个plist文件

创build一个新文件, ~/Library/LaunchAgents/UNIQUE_KEY.plist ,其中UNIQUE_KEY只是一个标识符。 我用com。 用户名 .androidstudio。

将以下文本复制到新的plist文件中并根据以下说明进行修改。

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>UNIQUE_KEY</string> <key>ProgramArguments</key> <array> <string>sh</string> <string>-c</string> <string>launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist> 

你将需要做两个修改:

  1. 更改UNIQUE_KEY以匹配您的文件名(不带.plist扩展名)。
  2. validation您的JDKpath是否正确,并在必要时进行更改。 在这个例子中我使用7u71。

这与安东尼奥·何塞的答案是一样的底层解决scheme。 它基于Android Studio版本1.0 RC3发行说明设置STUDIO_JDK环境variables。 此解决scheme使用LaunchAgents目录而不是AppleScript来设置环境variables。 因此,在你的订单和组织你的系统和环境variables方面大多数是不同的。

不要编辑plist。 这些说明在我几个月前第一次安装Android Studio的时候,以及就在今天。 (2015年1月21日)

所有你需要做的只是一些简单的事情,虽然他们没有真正列在谷歌的网站上。

  1. 首先你需要安装Java。 这不是JDK,它是单独的。 你可以从这个链接中获得。 如果你没有这个,它可能会抛出一个错误,说“没有安装JVM ”。
  2. 其次你需要Java JDK,我从这个链接中获得了JDK 7 。 请确保selectJava SE开发工具包7u75标题下的Mac OS X链接。 如果你没有这个,它可能会抛出一个错误,说“没有安装JDK ”。
  3. 如果您尚未安装Android Studio,请执行此操作。 但是我相信你现在已经做到了。

正如@Gerardbuild议的那样,我总结了一下我原来的评论( https://stackoverflow.com/a/27370525/763459 )作为答案,希望能帮助那些被这个问题困扰的人。

没有运行AppleScript的方法:编辑.bash_profile (如果这个文件不存在,请创build一个新的文件,正如@Gerardbuild议的,你可以第一次使用source .bash_profile )。

  • 安装遗留的Java(可能需要) http://support.apple.com/kb/DL1572

  • 把出口放到STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk

  • 然后退出terminal(或任何文本编辑器,你用来编辑这个文件),运行Android Studio和中提琴

testing与OSX 10.10和Android 1.0.1

Android Studio将从文件〜/ Library / Preferences / AndroidStudio / idea.properties中读取设置。 我创build了这个文件,并在其中有我的JDK的path:

STUDIO_JDK = /图书馆/的Java / JavaVirtualMachines / jdk1.8.0_45.jdk

不需要编辑Info.plist!

“在Mac OS上,使用Java运行时环境(JRE)6运行Android Studio以优化字体渲染,然后可以将项目configuration为使用Java Development Kit(JDK)6或JDK 7。

这是在Mac OS X的系统要求下http://developer.android.com/sdk/index.html中列出的。;

一旦按照Alonso C. Licks的说法从Apple安装了Java 6(不是JDK),您应该可以打开Android Studio并根据需要重新configuration,而不必在terminal,info.plist文件或其他库中混乱。

我已经下载了Intellij Idea。 当我尝试安装Intellij时,出现一个popup窗口,提示我的Mac缺lessJava RE,是否要下载它? 在使用Intellij下载了缺less的包之后,我可以打开Android Studio。

我通过将Info.plist文件中的JVM版本更改为1.7 *

我跑了这个坏男孩:

 launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/ 

我正在处理同样的问题,我得到它的工作。

这可能是你的jdk版本不对。

现在我安装了jdk1.8,现在就可以了。

对于那些在创build启动时启动的脚本时遇到困难的用户,可以将此.plist添加到LaunchAgents文件夹中。 由于优胜美地决定取消launchd.conf,这可能是向系统添加环境variables的更合适的方式。 由于LaunchAgents文件夹的性质,这也应该适用于所有的用户帐户,但是我没有testing过。

为此,请使用以下名称和path创build.plist文件:

 /Library/LaunchAgents/setenv.STUDIO_JDK.plist 

和内容:

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>setenv.STUDIO_JDK</string> <key>ProgramArguments</key> <array> <string>sh</string> <string>-c</string> <string> launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk </string> </array> <key>RunAtLoad</key> <true/> <key>ServiceIPC</key> <false/> <key>LaunchOnlyOnce</key> <true/> <key>KeepAlive</key> <false/> </dict> </plist> 

然后通过在terminal中运行以下命令来更改文件属性:

 sudo chmod 644 /Library/LaunchAgents/setenv.STUDIO_JDK.plist sudo chown root /Library/LaunchAgents/setenv.STUDIO_JDK.plist sudo chgrp wheel /Library/LaunchAgents/setenv.STUDIO_JDK.plist 

笔记:

1)您可能需要更改“jdk1.8.0_25.jdk”以与计算机上的版本相匹配。

2)我试图使用“jdk1.8。*。jdk”来尝试和考虑不同的Java *版本,但是当我打开Android Studio时,即使运行“echo $ STUDIO_JDK”,也得到了无JVM错误。正确的path。 也许有人对如何解决这个问题有一些了解。

尝试从Apple支持页面下载Java: http : //support.apple.com/kb/DL1572如果这不适用于您或未能加载( 很常见的问题 ),只需按照此链接下载并安装Java你需要的版本:

http://support.apple.com/downloads/DL1572/en_US/JavaForOSX2014-001.dmg

而已。

我以前卸载Java 6并安装Java 7,Android Studio工作正常,然后我升级了Android Studio,我遇到了每个人都遇到的问题。 今天,我卸载了Java 7,并从Oracle安装了Java 8。 然后我卸载Android Studio并安装最新的。 现在一切正在为我工​​作

我能够通过编辑将info.plist更改为16 *到16+来使其工作。 尝试使用推荐的方法,但失败了。