在OS X中修改PATH等环境变量的正确方法是什么?
我在Google上看了一下,发现要编辑的三个不同文件:
我甚至没有这些文件,我很确定.tcshrc是错误的,因为OS X现在使用bash.这些变量,尤其是PATH,在哪里定义?
我正在运行OS X v10.5(Leopard).
当有人说"编辑您的.plist文件"或"您的.profile"或".bash_profile"等时,这只会让我感到困惑.我不知道这些文件在哪里,如果我必须这样做,如何创建它们等,以及为什么似乎有这么多不同的(为什么?他们做不同的事情?)
那么,有人可以非常耐心地向以前的Windows用户解释(想要更加熟悉令人愉快的,如果最初有些令人困惑的OS X世界)如何一步一步地做到这一点?
我需要为GUI应用程序和命令行应用程序设置变量,目前它是需要变量的ant脚本,但很可能还有其他需求.
请注意我也有狮子,因为谷歌的许多答案似乎已经过时了......
另请注意,我几乎没有使用终端的经验.我愿意学习,但请为新手解释...
它看起来好像launchd.conf不再加载我的环境变量了.还有其他人注意到了吗?
还有另一种永久设置环境变量的解决方案吗?
我正在努力让新的1.7 JDK与Eclipse一起工作(这是Oracle的官方发布).
我并不仅仅指向Eclipse,因此您可以在项目中使用它,这很好,但实际上使Eclipse运行使用1.7 JVM.
我已经将新的JVM移到了Java Preferences的列表顶部,但是Eclipse仍然以1.6开头.如果我在Java Preferences中禁用1.6,那么在我双击Eclipse"无法创建Java虚拟机"后立即获得一个对话框.
编辑:我在-vmargs之前将以下内容添加到我的eclipse.ini中:
-vm
/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home/bin/java
Run Code Online (Sandbox Code Playgroud)
然而在Eclipse安装细节对话框中,我仍然看到:
java.runtime.version=1.6.0_31-b04-415-11M3646
Run Code Online (Sandbox Code Playgroud)
编辑2:这是我的eclipse.ini文件的内容:https://gist.github.com/2512578
在 Android Studio 同步我的 gradle 项目后,我在事件日志中看到以下消息:
Android Studio 正在使用此 JDK 位置:
/path/to/my/project/specific/jdk这与 Gradle 默认/path/to/android/studio/embedded/jdk使用的位置不同: 如果在使用 Android Studio 时从命令行运行 Gradle 任务,则使用不同的位置可能会产生多个 Gradle 守护进程。设置 Android Studio 使用与 Gradle 相同的 JDK 并同步项目
我已经/path/to/my/project/specific/jdk设置了Project Structure-> SDK Location-> JDK Location->Other

我有以下内容.bash_profile:
export JAVA_HOME=/path/to/my/project/specific/jdk
Run Code Online (Sandbox Code Playgroud)
并且STUDIO_JDK文档说:
设置用于运行 Studio 的 JDK 的位置。当你推出Android Studio中,它会检查
STUDIO_JDK,JDK_HOME以及JAVA_HOME依次环境变量。
所以我希望 Android Studio 会找到/path/to/my/project/specific/jdk,但它不会。是否有专门针对 gradle 的特殊 JDK 设置?
我在mac OSX和Windows中使用KEY_STRING作为系统变量.哪个有我的密钥库的绝对路径.
〜/ .bash_profile条目将是
export KEY_STRING =~/config/release-signing.keystore
Run Code Online (Sandbox Code Playgroud)
在我的每个队友机器[Windows/OSX/Linux]中设置相同的路径.
我的Gradle脚本将访问此变量
def keystorePath = System.getenv("KEY_STRING");
println keystorePath;
Run Code Online (Sandbox Code Playgroud)
这个脚本在Windows和控制台和android工作室都可以正常工作.
我的问题特定于mac android studio.
如果我在终端运行正常工作并读取env变量.
但是当我进行gradle同步或设置运行配置[Gradle task]时,它无法解析变量.
我也向Google 报告过此问题.
这里是快速摘要: