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


当前回答

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

有一种不运行AppleScript的方法: 编辑.bash_profile(如果这个文件不存在,请创建一个新的文件,就像@Gerard建议的那样,你可以第一次使用源文件.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上测试

其他回答

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

有一种不运行AppleScript的方法: 编辑.bash_profile(如果这个文件不存在,请创建一个新的文件,就像@Gerard建议的那样,你可以第一次使用源文件.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上测试

我运行了这个坏小子:

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

把这个家伙装在这里

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

你应该很好。

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

创建一个新文件~/Library/LaunchAgents/UNIQUE_KEY。其中UNIQUE_KEY只是一个标识符。我使用com.username.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>

你需要做两个修改:

更改UNIQUE_KEY以匹配您的文件名(不带.plist扩展名)。 验证您的JDK路径是否正确,并在必要时进行更改。在本例中,我使用7u71。

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

在Mac OS X Yosemite上只需安装:

Java SE开发工具包8

and

Java Version 8 Update 25

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