相关疑难解决方法(0)

在OS X上设置环境变量

在OS X中修改PATH等环境变量的正确方法是什么?

我在Google上看了一下,发现要编辑的三个不同文件:

  • 的/ etc /路径
  • 〜/ .profile文件
  • 〜/ .tcshrc文件

我甚至没有这些文件,我很确定.tcshrc是错误的,因为OS X现在使用bash.这些变量,尤其是PATH,在哪里定义?

我正在运行OS X v10.5(Leopard).

macos bash path environment-variables

837
推荐指数
21
解决办法
70万
查看次数

Mac OS X中的环境变量

更新:以下链接没有完整的答案.必须在两个地方设置路径或变量(一个用于GUI,一个用于shell)是蹩脚的.

不重复:在OS X中设置环境变量?


来自Windows背景,可以很容易地设置和修改环境变量(只需转到系统属性>高级>环境变量),在Mac OS 10.5上似乎没那么直接.大多数参考文献都说我应该更新/ etc/profile或〜/ .profile.那些是系统变量和用户变量的等价物吗?例如,我应该在哪里设置我的JAVA_HOME变量?


编辑:

我希望能够从终端以及像Eclipse这样的应用程序访问该变量.此外,我希望我不必重新启动/注销以使此生效.

macos environment-variables

183
推荐指数
5
解决办法
21万
查看次数

Android gradle build System.getEnv("RELEASE_PASSWORD")返回null

我遇到的问题是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)

android gradle android-gradle-plugin

27
推荐指数
3
解决办法
2万
查看次数

settings.gradle中的环境变量不适用于Android Studio

我确实有一个多模块项目,其中一个库项目位于不同的根路径中.如图所示,你可以想象这样的事情:

/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了解我的环境?

android android-studio

14
推荐指数
4
解决办法
2万
查看次数