【发布时间】:2016-04-21 12:42:12
【问题描述】:
我在一个 Android 项目中使用了 retrolambda。我在我的 .bashrc 中设置了两个用于导出的 env 变量,即 JAVA7_HOME 和 JAVA8_HOME,它们指向两个 Java SDK 的绝对路径,之后我再次获取 .bashrc。
但是,尝试编译我的项目会给我一个错误。当我打印出 System.getEnv("JAVA7_HOME") 的结果时,我得到了 null。然而,奇怪的是,当我在终端中为变量运行 env 和 grep 时,我会在那里看到它们。最奇怪的是,甚至直接将路径作为字符串分配给 JDK 似乎都不起作用。我已尝试重新启动 Android Studio 和我的计算机,以防万一我对 .bashrc 的更改没有生效,但没有任何效果。
有没有人对这个问题有任何见解,或者我还能尝试什么?我运行 Mac OS X 是为了物有所值。
【问题讨论】:
-
"当我打印出 System.getEnv("JAVA7_HOME")" 的结果时——嗯,从哪里打印出来?
build.gradle?您在 Android 设备上运行的 Java 代码?其他地方? -
来自 build.gradle。由于出现编译器错误,我无法从设备打印任何内容。
-
AFAIK,环境变量未传递到 Android Studio 使用的分叉 Gradle 进程中。
标签: android macos bash environment-variables retrolambda