在OS X中修改PATH等环境变量的正确方法是什么?
我在Google上看了一下,发现要编辑的三个不同文件:
我甚至没有这些文件,我很确定.tcshrc是错误的,因为OS X现在使用bash.这些变量,尤其是PATH,在哪里定义?
我正在运行OS X v10.5(Leopard).
更新:以下链接没有完整的答案.必须在两个地方设置路径或变量(一个用于GUI,一个用于shell)是蹩脚的.
不重复:在OS X中设置环境变量?
来自Windows背景,可以很容易地设置和修改环境变量(只需转到系统属性>高级>环境变量),在Mac OS 10.5上似乎没那么直接.大多数参考文献都说我应该更新/ etc/profile或〜/ .profile.那些是系统变量和用户变量的等价物吗?例如,我应该在哪里设置我的JAVA_HOME变量?
编辑:
我希望能够从终端以及像Eclipse这样的应用程序访问该变量.此外,我希望我不必重新启动/注销以使此生效.
我遇到的问题是System.getenv()为环境变量返回null.我的密码存储在RELEASE_PASSWORD环境变量中.当我做:
$ echo $RELEASE_PASSWORD
它打印出正确的值,所以我知道变量已设置.
我最初signingConfig signingConfigs.release在发布版本中设置了类型,一切都运行正常,但我需要不同的签名配置,以适应不同的产品风格.如果我对密码进行硬编码,它的工作原理就像它想象的那样.当我尝试从环境变量中读取密码时,事情就变得很糟糕.
这是某种范围问题吗?
这就是我目前所拥有的build.gradle.
android {
...
signingConfigs {
release {
storeFile ...;
keyAlias ...;
storePassword System.getenv("RELEASE_PASSWORD");
keyPassword System.getenv("RELEASE_PASSWORD");
}
unsigned {
keyAlias "";
storePassword "";
keyPassword "";
}
}
buildTypes {
debug {
versionNameSuffix = "-DEBUG"
}
release {
}
}
flavorGroups "storeFront"
productFlavors {
def googleVariable = signingConfigs.release
def amazonVariable = signingConfigs.unsigned
google {
flavorGroup "storeFront"
signingConfig googleVariable
}
amazon {
flavorGroup "storeFront"
signingConfig amazonVariable …Run Code Online (Sandbox Code Playgroud) 我确实有一个多模块项目,其中一个库项目位于不同的根路径中.如图所示,你可以想象这样的事情:
/projects_home/projects/app_root
|--app/
| |--build.gradle
|--build.gradle
|--settings.gradle
/libraries_home/libraries
|--libA
|--build.gradle
Run Code Online (Sandbox Code Playgroud)
在我的settings.gradle文件中,我可以使用projectDir属性设置库项目的绝对路径.这在控制台和Android Studio中都可以正常工作.
但是,如果我尝试使用环境变量,它将停止使用Android Studio.上面示例的settings.gradle如下所示:
include ':app'
include ':libA'
project(':libA').projectDir = new File("$System.env.LIB_ROOT", '/libraries/libA')
Run Code Online (Sandbox Code Playgroud)
如果我使用控制台中的graddle包装器构建,它仍然有效.但AS停止使用以下错误消息:
Gradle 'app' project refresh failed:
Configuration with name 'default' not found.
Run Code Online (Sandbox Code Playgroud)
如果我取消设置环境变量,则控制台上的构建将失败并显示相同的消息:
* What went wrong:
A problem occurred configuring project ':app'.
> Configuration with name 'default' not found.
Run Code Online (Sandbox Code Playgroud)
因此我猜AS在某种程度上无法访问使用〜/ .bashrc设置的环境变量
你们中的某些人是否知道如何让AS了解我的环境?