Gradle脚本中修改的PATH环境变量

时间:2017-12-16 17:56:25

标签: android gradle environment-variables macos-high-sierra

我正在运行Gradle脚本。一开始我打印PATH环境变量:

println System.getenv( 'PATH' )

输出结果为:

/usr/bin:/bin:/usr/sbin:/sbin

但真正的PATH环境变量是(从终端打印):

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sh........

问题是,为什么PATH env变量在Gradle脚本和终端中不算数学?

事实是,我正在构建Android,它使用Gradle作为构建系统。我有c ++代码,由CMake构建。在CMake中我运行一些python脚本,它们执行一些外部命令。但是当Gradle更改PATH变量时,找不到那些命令,我​​收到错误。在执行这些命令时,不能使用完整路径,例如:

/usr/local/bin/my_mega_command

当我直接运行CMake或python脚本时,一切都按预期工作。

1 个答案:

答案 0 :(得分:0)

Android Studio不会将其环境传递给它产生的Gradle守护程序。通常,我们会以缺少自定义环境变量的形式看到这一点,但显然它也会影响PATH更改。