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

iMi*_*ich 211 java ide macos android android-studio

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

小智 355

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

干杯!

编辑:

虽然这在旧版Android Studio中是必需的,但不再推荐使用此功能.见官方声明

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

安东尼奥何塞的回答是正确的.

谢谢aried3r!

  • 我在我的Mac上将1.6*改为1.8* (15认同)
  • 虽然这在旧版Android Studio中是必需的,但不再推荐使用此功能.请参阅[官方声明](http://tools.android.com/tech-docs/configuration/osx-jdk)**"请注意:请勿编辑Info.plist以选择其他版本.这不仅会破坏应用程序签名,以及您安装的未来补丁更新."**Antonio Jose的回答是正确的. (7认同)
  • 根据Alonso和Shane的回答,Apple的官方软件包就可以解决这个问题.不需要摆弄! (6认同)
  • 哇1.6+为我工作..一旦他们更新,我会下载一个新的应用程序! (6认同)
  • 要完成:必须在Info.plist文件中完成 (5认同)

小智 174

只需在这里安装这个人

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

你应该好.

  • 首先从Oracle下载并安装最新的JVM:https://www.java.com/en/download/index.jsp然后从上面的链接下载并运行pkg,然后你就可以在Java 8上了有正确的发射工作 (8认同)
  • 另外,总结一下在Mac OSX 10.10上对我有用的东西:1)从https://www.java.com/en/download/安装Java 8u25 2)安装了Alonso在他的链接中说的Java http:// support.apple.com/kb/DL1572?viewlocale=en_US&locale=en_US (7认同)
  • 我不明白这不是公认或正确的答案.这基本上解决了问题并使您无法编辑任何文件.至少我的问题是由于Yosemite缺少Javas而无法启动Android Studio.Intellij 14的修复程序相同. (4认同)
  • @ MickyRich89试试这个:http://support.apple.com/kb/DL1572?viewlocale = en_US&locale = en_US (3认同)
  • 这个答案是官方推荐的方式(使用JRE 6运行Android Studio并使用JDK 7或8编译应用程序):http://tools.android.com/tech-docs/configuration/osx-jdk (2认同)

Ant*_*ose 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安装中的默认值).

但是没有解释什么选项.

搜索了一下后,我
在Mac上找到了适用于Android Studio的调整VM选项
IntelliJ IDEA 14.0.0 Web帮助/文件IDEA.Properties

然而,没有运气.

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

您还可以使用环境变量来指向其他地方的特定覆盖文件:
STUDIO_VM_OPTIONS,其中vmoptions文件使用
STUDIO_PROPERTIES,哪个属性文件使用
STUDIO_JDK,哪个JDK运行工作室

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

这是我对命令行的launchctl命令.

launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk
Run Code Online (Sandbox Code Playgroud)

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

do shell script "launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk"
Run Code Online (Sandbox Code Playgroud)

关于launchctl,请看这里

  • 您还可以通过open -a Android\Studio从命令行运行AS,这将允许您创建一个非常简单的shell脚本,该脚本按上述方式设置环境,然后启动AS.对我来说,这比使用launchctl和AppleScript搞乱要简单得多. (4认同)
  • 实际上有一种方法没有运行AppleScript:编辑`.bash_profile`(如果这个文件不存在,请创建一个新的),把`export STUDIO_JDK/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk`,退出终端(或您用来编辑此文件的任何文本编辑器),运行Android Studio和中提琴.使用OSX 10.10和Android 1.0.1进行测试 (3认同)

Gov*_*ind 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

为我工作

  • 谢谢.这与Android网站提供的解决方案相同.这是链接:http://tools.android.com/tech-docs/configuration/osx-jdk (2认同)

Mag*_*ter 14

更改此键 Info.plist

我改变了

<key>JVMVersion</key>
<string>1.6*</string>
Run Code Online (Sandbox Code Playgroud)

<key>JVMVersion</key>
<string>1.8*</string>
Run Code Online (Sandbox Code Playgroud)

它现在工作正常..

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

谢谢!


nit*_*oel 12

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

请注意:

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

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

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

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

$ open /Applications/Android\ Studio.app
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

java -version
Run Code Online (Sandbox Code Playgroud)

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

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

woolaaaa ...完成了.

参考文献:

安东尼奥何塞的回答

鲁瓦里奥的答案


luo*_*v89 9

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

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

    <key> JVM version</key>
    <string>1.6*</string>
    
    Run Code Online (Sandbox Code Playgroud)

取而代之:

    <key> JVM version</key>
    <string>1.6+</string>
Run Code Online (Sandbox Code Playgroud)

而已!


小智 6

在Mac OS X Yosemite上安装:

Java SE开发工具包8

Java版本8更新25

这一切,对我有用!


小智 5

  1. 安装最新的JDK(8u102电流)
  2. 设置envirionment变量STUDIO_JDK(java_home输出Java home目录并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中创建一个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
Run Code Online (Sandbox Code Playgroud)

通过http://www.dowdandassociates.com/blog/content/howto-set-an-environment-variable-in-mac-os-x-launchd-plist/找到关于plist技巧的信息