我无法在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上测试
其他回答
对于那些在创建启动时启动的脚本时遇到困难的人,作为替代方案,你可以将这个.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”它返回正确的路径。也许有人对如何解决这个问题有一些见解。
尝试从Apple Support Page: http://support.apple.com/kb/DL1572下载Java,如果这对你来说不起作用或无法加载(非常常见的问题),只需按照这个链接下载并安装你需要的Java版本:
http://support.apple.com/downloads/DL1572/en_US/JavaForOSX2014-001.dmg
就是这样。
安装最新的JDK (8u102 current) 设置环境变量STUDIO_JDK (java_home输出Java主目录,sed剥离两个文件夹以获得jdk目录) /usr/libexec/java_home -version 1.8 | sed 's/\/Contents\/Home//g' ' 像往常一样启动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
要知道plist的诀窍,请访问http://www.dowdandassociates.com/blog/content/howto-set-an-environment-variable-in-mac-os-x-launchd-plist/
我也在处理同样的问题,而且我成功了。
可能是JDK版本不对。
现在我安装了jdk1.8,现在没问题了。
AndroidStudio将从文件~/Library/Preferences/AndroidStudio/idea.properties中读取设置。我创建了这个文件,其中有我的jdk的路径:
STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk
不编辑信息。plist必要!
推荐文章
- 从Cocoa应用程序执行一个终端命令
- Android命令行工具sdkmanager总是显示:警告:无法创建设置
- 为什么Java类的编译与空行不同?
- 如何设置RecyclerView应用程序:layoutManager=""从XML?
- 在没有开发服务器的情况下在设备上构建和安装unsigned apk ?
- 操作栏和新引入的工具栏有什么不同?
- 调整浮动动作按钮图标大小(fab)
- Android Studio无法找到有效的Jvm(与MAC OS相关)
- 为什么一个组合器需要减少方法转换类型在java 8
- CountDownLatch是如何在Java多线程中使用的?
- 如果我同步了同一个类上的两个方法,它们能同时运行吗?
- 如何减去X天从一个日期对象在Java?
- Java标识符中的“连接字符”是什么?
- android:在触摸移动时移动视图
- 如何以编程方式将ID分配给视图?