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

时间:2014-12-09 00:03:39

标签: java android macos android-studio ide

我无法在Mac OS(10.10.1 - 优胜美地)上启动我的Android Studio for Android开发

28 个答案:

答案 0 :(得分:354)

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

干杯!

编辑:

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

"请注意:请勿编辑Info.plist以选择其他版本。这不仅会破坏应用程序签名,还会破坏您安装的未来补丁更新。"

Antonio Jose'} answer是正确的。

谢谢aried3r!

答案 1 :(得分:174)

在这里安装这个人

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

你应该好。

答案 2 :(得分:140)

[更新]
这已在Android Studio 1.1中修复 https://issuetracker.google.com/issues/37015035

  

在Android Studio的下一个版本中,如果找不到java 6但找到了7(或更高版本),那么它将使用它。由于改进了字体渲染,我们仍然建议使用Java 6运行工作室,但是,例如,如果只找到java 8,则无需解决问题。

[结束更新]

来自Android Studio 1.0 RC3 Notes

  

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

但是没有关于选项的解释。

稍微搜索后我发现了这个 Adjusting VM Options for Android Studio on Mac
IntelliJ IDEA 14.0.0 Web Help/File IDEA.Properties

但是没有运气。

幸运的是,我能够使用环境变量在Yosemite上解决它,如1.0 RC3发行说明中所述。

  

您还可以将使用环境变量放在其他地方指向特定的覆盖文件:
  STUDIO_VM_OPTIONS,vmoptions文件使用
  STUDIO_PROPERTIES,要使用的属性文件
  STUDIO_JDK,JDK用

运行工作室

这有点棘手,因为Android Studio不是命令行应用程序,所以我必须使用AppleScript命令在登录时设置环境变量。更多信息here

这是我对命令行的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,请参阅here

答案 3 :(得分:21)

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

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

$ open / Applications / Android \ Studio.app

为我工作

答案 4 :(得分:14)

Info.plist

中更改此密钥

我改变了

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

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

现在工作正常..

编辑


根据hasternet和aried3r上面提到的官方声明,Antonio Jose的解决方案是正确的。

谢谢!

答案 5 :(得分:12)

作为新手用户,我花了一些时间来了解如何以正确的方式解决这个问题。在搜索并低估了许多答案后,我发布了以下步骤,您需要遵循以解决问题。

请注意:

虽然最简单的解决方案是更新android studio的 Info.plist 。但不建议这样做,也不是正确的解决方法。

官方声明 - &#34;请注意:请勿编辑Info.plist以选择其他版本。这不仅会破坏应用程序签名,还会破坏您安装的未来补丁更新。&#34;

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

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

$ open /Applications/Android\ Studio.app

从下次打开终端时,您的工作室将自动启动。

第二个解决方案:如果您想从UI运行Android Studio(点击图标),请按以下步骤操作:

  1. 在Mac上打开脚本编辑器(可以在聚光灯中找到它)
  2. 通过以下行复制

    做shell脚本&#34; launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk"

  3. 注意: - 根据您的版本更改jdk版本。要检查您使用的是哪个版本的打开终端并运行以下命令

    java -version
    

    3.现在保存(⌘+ s)为文件格式:应用程序。最后打开系统设置→用户&amp;组→登录项并添加您刚刚创建的新应用程序。

    1. 注销并再次登录,或者您也可以手动运行该应用程序..
    2. woolaaaa ......完成了。

      参考文献:

      Antonio Jose's answer

      ruario's answer

答案 6 :(得分:9)

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

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

    <key> JVM version</key>
    <string>1.6*</string>
    
  4. 替换为:

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

    那就是它!

答案 7 :(得分:6)

在Mac OS X Yosemite上安装:

Java SE Development Kit 8

Java版本8更新25

这就是全部,为我工作!

答案 8 :(得分:5)

  1. 安装最新的JDK(8u102当前)
  2. 设置环境变量STUDIO_JDKjava_home输出Java home目录,sed删除两个文件夹以获取jdk目录)

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

  3. 像往常一样启动Android Studio

  4. 每次重启时设置STUDIO_JDK

    以上步骤仅适用于当前会话。以下是在/ Library / LaunchDaemons中创建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
    

    感谢http://www.dowdandassociates.com/blog/content/howto-set-an-environment-variable-in-mac-os-x-launchd-plist/

    ,发现有关plist技巧

答案 9 :(得分:3)

在Android工具项目网站上,有一个很好的解释Mac OSX JDK Selection。它解决了我的问题。总结:

  

Android Studio需要两个不同的JDK:

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

这两个可以(通常是)相同,但您可以配置   他们个人。特别是在OSX上,他们经常会   不同。

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

  

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

     

如果没有,请尝试运行最新版本的Java 7或Java 8   如上所述设置STUDIO_JDK。据报道,这已得到修复   其他问题(虽然你会得到显示的字体渲染   上面的Java 8。)

答案 10 :(得分:2)

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

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

enter image description here

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

enter image description here

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

答案 11 :(得分:1)

您可以使用用户的启动代理实施STUDIO_JDK解决方案。这涉及在位于~/Library/LaunchAgents

的LaunchAgents目录中创建一个plist文件

创建一个新文件~/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. 验证您的JDK路径是否正确,并在必要时进行更改。我在这个例子中使用了7u71。
  3. 这与Antonio Jose's answer的底层解决方案相同。它根据Android Studio版本1.0 RC3 release notes设置STUDIO_JDK环境变量。此解决方案使用LaunchAgents目录而不是AppleScript来设置环境变量。因此,您的订单和组织系统和环境变量的方式大不相同。

答案 12 :(得分:1)

编辑包中的android studio的Info.plist文件,以便它使用1.7或您安装的任何JVMVersion。将上述回答的JVMVersion改为1.6+而不是1.6 *也应该有效。

以上情况有效,但不建议参见RC3 Release Notes

  

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

请参阅Android Studio failed to load JVM on Mac OSX (Mavericks)

答案 13 :(得分:1)

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

STUDIO_JDK = /库/爪哇/ JavaVirtualMachines / jdk1.8.0_45.jdk

无需编辑Info.plist!

答案 14 :(得分:1)

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

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

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

答案 15 :(得分:1)

正如@Gerard建议的那样,我将我的原始评论(https://stackoverflow.com/a/27370525/763459)作为答案进行夏季预测,希望它可以帮助那些对此问题感到恼火的人。

没有运行AppleScript的方法: 修改.bash_profile(如果此文件不存在,请创建一个新文件,正如@Gerard建议的那样,您可以第一次使用source .bash_profile

  • 安装旧版Java(可能是必需的)http://support.apple.com/kb/DL1572

  • 放出导出STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk

  • 然后退出终端(或您用来编辑此文件的任何文本编辑器),运行Android Studio和中提琴

使用OSX 10.10和Android 1.0.1进行测试

答案 16 :(得分:1)

不要编辑plist。这些说明适用于我几个月前第一次安装Android Studio以及今天。 (2015年1月21日)

您需要做的只是一些简单的事情,尽管它们并未真正列在Google的网站上。

  1. 首先,您需要安装Java。这不是JDK,它是分开的。您可以从this link.获得该信息。如果您没有这样做,则可能会出现错误,例如&#34;没有安装 JVM 。&#34;
  2. 其次你需要Java JDK,我从this link.获得了JDK 7.确保选择Java SE Development Kit 7u75标题下的Mac OS X链接。如果您没有这样做,可能会出现错误,例如&#34;没有安装 JDK 。&#34;
  3. 如果您尚未安装Android Studio,请执行此操作。但我相信你现在已经做到了。

答案 17 :(得分:1)

这个对我有用,非常简单,只需导出环境变量。但请确保您首先拥有有效的JVM。

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

答案 18 :(得分:1)

在Mac OS X Yosemite上安装:

Java SE Development Kit 8

Java版本8更新25

这一切,也为我工作!像格赫夫说的那么简单!

答案 19 :(得分:0)

我正在处理同样的问题而且我得到了它。

可能是你的jdk版本不对。

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

答案 20 :(得分:0)

“在Mac OS上,使用Java Runtime Environment(JRE)6运行Android Studio以优化字体渲染。然后,您可以将项目配置为使用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并根据需要重新配置,而不必在终端,info.plist文件中乱码,或者其他图书馆。

答案 21 :(得分:0)

对于那些在创建启动时创建脚本时遇到问题的用户,可以将此.plist添加到LaunchAgents文件夹中。这可能是向系统添加环境变量的更合适的方式,因为Yosemite决定取消使用launchd.conf。由于LaunchAgents文件夹的性质,这也适用于用户帐户,但我还没有对其进行测试。

为此,请使用以下名称和路径创建.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>

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

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)您可能需要更改&#39; jdk1.8.0_25.jdk&#39;与您计算机上的版本相匹配。

2)我尝试使用&#34; jdk1.8。*。jdk&#34;尝试并考虑不同的Java *版本,但是当我打开Android Studio时,我得到了没有JVM错误,即使你运行&#34; echo $ STUDIO_JDK&#34;它返回正确的路径。也许有人对如何解决这个问题有一些了解。

答案 22 :(得分:0)

我跑了这个坏男孩:

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

答案 23 :(得分:0)

尝试从Apple支持页面下载Java:http://support.apple.com/kb/DL1572如果这对您不起作用或无法加载(非常常见的问题),请点击此链接下载并安装所需的Java版本:

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

那就是它。

答案 24 :(得分:0)

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

来解决了这个问题

答案 25 :(得分:0)

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

答案 26 :(得分:0)

我已经下载了Intellij Idea。当我尝试安装Intellij时,出现了弹出窗口,我的Mac缺少Java RE,你想下载吗?在使用Intellij下载丢失的软件包后,我可以打开Android Studio。

答案 27 :(得分:-1)

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