OSX And​​roid studio的gradle无法读取.bash_profile环境变量

时间:2015-09-03 13:13:33

标签: android-studio android-gradle osx-yosemite

我在mac OSX和Windows中使用KEY_STRING作为系统变量。它有我的密钥库的绝对路径。

〜/ .bash_profile条目将是

export KEY_STRING =~/config/release-signing.keystore

我的每个队友机器[Windows / OSX / Linux]中的相同路径设置。

访问此变量的My Gradle脚本将是

def keystorePath = System.getenv("KEY_STRING");
println keystorePath;

这个脚本在Windows和控制台和android工作室都可以正常工作。

我的问题特定于 mac android studio

如果我在终端中运行构建工作正常并读取env变量。

但是当我进行gradle同步或设置运行配置[Gradle task]时,它无法解析变量。

我也向Google报告了此issue

这里是快速摘要:

  • 在〜/ .bash_profile
  • 中设置环境变量
  • 在build.gradle的任何地方阅读

    def keystorePath = System.getenv(“KEY_STRING”); println keystorePath;

  • 在配置中添加gradle任务。 Adding custom gradle task to android studio

  • 它没有读取环境变量。

1 个答案:

答案 0 :(得分:5)

OSX应用程序

可以读取环境变量。

根据这个答案 https://stackoverflow.com/a/14285335/981555

解决我的问题的方法是

launchctl setenv KEY_STRING ~/config/release-signing.keystore

这应该在启动Android studio之前设置。