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

我无法在Mac OS上启动我的Android Studio进行Android开发(10.10.1 - Yosemite)

146990 次浏览

把这个家伙装在这里

< a href = " http://support.apple.com/kb/DL1572?viewlocale=en_US&地区= en_US " > http://support.apple.com/kb/DL1572?viewlocale=en_US&地区= en_US < / >

你应该很好。

在finder中打开Android工作室的应用程序包,并编辑Info.plist文件。修改密钥JVMversion。用1.6+代替1.6*。这招对我很管用!

干杯!

编辑:

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

"请注意:不要编辑信息。请选择一个不同的版本。这不仅会破坏应用程序的签名,还会破坏未来的补丁更新。”

Antonio Jose的回答是正确的。

谢谢aried3r !

编辑android工作室的信息。plist文件,以便它使用1.7或任何您已经安装的JVMVersion。将JVMVersion更改为1.6+而不是如上所述的hassternet回答的1.6*应该也可以工作。

上面的工作,但不建议参见RC3发行说明

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

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

Info.plist中更改此键

我从

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

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

现在它工作得很好。

< p >编辑:< br > 根据hasternet和aried3r上面提到的官方声明,Antonio Jose的解决方案是正确的

谢谢!

< br > < p >(更新) 这在Android Studio 1.1中得到了修复 https://issuetracker.google.com/issues/37015035 < / p >

在下一个版本的Android Studio中,如果没有找到java 6,但找到了java 7(或更高),那么它将使用java 6。我们仍然推荐使用Java 6运行studio,因为它改进了字体渲染,但是如果只找到Java 8,就不需要做任何工作。

(最后更新)

Android Studio 1.0 RC3 Notes

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

然而,没有解释什么是选项。

在搜索了一下之后,我发现了这个
在Mac上调整Android Studio的虚拟机选项 < br > IntelliJ IDEA 14.0.0 Web帮助/文件IDEA。属性 < / p >

然而,运气不佳。

幸运的是,我能够像1.0 RC3发行说明中所说的那样,使用环境变量在优胜美地解决这个问题。

您还可以将使用环境变量放置在其他位置,以指向特定的覆盖文件 STUDIO_VM_OPTIONS,使用哪个vmoptions文件
STUDIO_PROPERTIES,使用哪个属性文件
STUDIO_JDK,哪个JDK运行studio

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

这是命令行的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,请参见在这里

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

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

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

replaced by:

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

就是这样!

我也有同样的问题,用这种方式解决:

你应该从苹果官方页面安装Java。

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

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

Android Studio需要两个不同的jdk:

  • IDE本身使用的Java版本。
  • 它用来获取Java编译器的JDK版本
这两者可以(并且通常是)相同,但是您可以配置 他们单独。尤其是在OSX上,它们经常是这样的 不同。< / p >

Yosemite (Mac OSX 10.10)

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

如果不是,尝试运行最新版本的Java 7或Java 8代替 如上所述设置STUDIO_JDK。据报道,这个问题已经解决 其他问题(尽管您将得到字体渲染显示 Java 8以上)

注意,最后一个变量允许你在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

为我工作

这一个工作为我,非常简单,只是导出环境变量。但确保你有有效的JVM首先。

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

“在Mac OS上,运行带有Java运行时环境(JRE) 6的Android Studio,以优化字体渲染。然后,您可以配置您的项目使用Java开发工具包(JDK) 6或JDK 7。”

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

一旦你按照Alonso C. Licks从苹果安装了Java 6(而不是JDK),你应该能够打开Android Studio并重新配置,而不必在终端中混乱,信息。Plist文件或其他库。

在Mac OS X Yosemite上只需安装:

Java SE开发工具包8

而且

Java Version 8 Update 25

都是,为我工作!

在Mac OS X Yosemite上只需安装:

Java SE开发工具包8

而且

Java Version 8 Update 25

这都是我的工作!就像gehev说的,这么简单!

我下载了Intellij Idea。当我尝试安装Intellij时,弹出提示我的Mac缺少Java RE,你想下载吗?我用Intellij下载了丢失的包后,就可以打开Android Studio了。

我通过更改信息中的JVM版本解决了这个问题。Plist文件到1.7*

作为一个新手用户,我花了一段时间来理解如何以正确的方式修复这个问题。在搜索和低估了许多关于SO的答案后,我想出了以下步骤,你需要遵循来解决这个问题。

请注意:

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

官方声明-“请注意:不要编辑信息。请选择一个不同的版本。这不仅会破坏应用程序的签名,还会破坏未来的补丁更新。”

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

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


$ open /Applications/Android\ Studio.app

从下次你打开你的终端,你的工作室将自动开始。

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

  1. 在mac上打开脚本编辑器(可以在关注的焦点中找到它)
  2. 复制到下面一行

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

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

java -version

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

  1. 注销和登录再次或您可以手动运行该应用程序以及..

woolaaaa…它的完成。

引用:

安东尼奥·何塞的回答 .

ruario的答案

我运行了这个坏小子:

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

我可以通过编辑信息来让它工作。请将16*改为16+。尝试使用推荐的方法,但失败了。

我也在处理同样的问题,而且我成功了。

可能是JDK版本不对。

现在我安装了jdk1.8,现在没问题了。

你可以使用用户的启动代理来实现STUDIO_JDK解决方案。这包括在LaunchAgents目录中创建一个plist文件,位于~/Library/LaunchAgents

创建一个新文件~/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。

这是与安东尼奥·何塞的回答相同的底层解决方案。它基于Android Studio版本1.0 RC3发布说明设置STUDIO_JDK环境变量。这个解决方案使用LaunchAgents目录而不是AppleScript来设置环境变量。因此,这主要是您如何安排和组织系统和环境变量的差异。

对于那些在创建启动时启动的脚本时遇到困难的人,作为替代方案,你可以将这个.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)您可能需要更改'jdk1.8.0_25。Jdk '以匹配您的计算机上的版本。

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

这些说明在我几个月前第一次安装Android Studio时起作用,就在今天。(1/21/2015)

你所需要做的只是几件简单的事情,尽管谷歌的网站上并没有列出。

  1. 首先,您需要安装Java。这不是JDK,它是独立的。如果你没有这个,它可能会抛出一个错误,说“没有安装JVM”。
  2. 其次,你需要Java JDK,我从这个链接。得到了JDK 7。请务必选择Java SE Development Kit 7u75标题下的Mac OS X链接。如果你没有这个,它可能会抛出一个错误,说“没有JDK installed。”
  3. 如果你还没有安装Android Studio,那就安装吧。但我相信你现在已经这么做了。

正如@Gerard的建议,我总结了我的原始评论(https://stackoverflow.com/a/27370525/763459)作为答案,希望它能帮助其他被这个问题困扰的人。

有一个不运行AppleScript的方法: 编辑.bash_profile(如果这个文件不存在,请创建一个新的文件,就像@Gerard建议的那样,你可以第一次使用source .bash_profile)
  • 安装遗留Java(可能是必要的)http://support.apple.com/kb/DL1572

  • 输入export STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk

  • 然后退出终端(或任何你用来编辑这个文件的文本编辑器),运行Android Studio和viola

在OSX 10.10和Android 1.0.1上测试

尝试从Apple Support Page: http://support.apple.com/kb/DL1572下载Java,如果这对你不起作用或加载失败(非常普遍的问题),只需按照这个链接下载并安装你需要的Java版本:

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

就是这样。

  1. 安装最新的JDK (8u102 current)
  2. 设置环境变量STUDIO_JDK (java_home输出Java主目录,sed删除两个文件夹以获得jdk目录)

    launchctl setenv STUDIO_JDK ' /usr/libexec/java_home -version 1.8 | sed 's/\/Contents\/Home//g' ' < /代码> < / p > < /李>

  3. 像往常一样启动Android Studio

在每次重启时设置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技巧

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

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

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

不编辑信息。plist必要!

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

重新安装Java前后的终端截图。

enter image description here

要重新安装Java,我遵循Android Studio对话框中提供的链接。

enter image description here

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