设置 JDK make OS X 的路径

Setting JDK Path for make OS X

我正在尝试在 Mac OS X 10.13.6

上构建 Android AOSP

当运行 make时输出

build/core/config.mk:601: *** Error: could not find jdk tools.jar at /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/../lib/tools.jar, please check if your JDK was installed correctly.  Stop.

JAVA_HOMEANDROID_JAVA_HOME 都设置为我的 JDK 安装目录:

/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home

我知道 System/Library/.../Commands 下的文件是指向正确 JDK 安装的存根,但 make 也试图在此目录中找到 tools.jar

有没有办法告诉 make 在正确的目录中搜索?

编辑

错误出现在config.mk:601

# We may not have the right JAVA_HOME/PATH set up yet when this is run from envsetup.sh.
ifneq ($(CALLED_FROM_SETUP),true)
HOST_JDK_TOOLS_JAR:= $(shell $(BUILD_SYSTEM)/find-jdk-tools-jar.sh)

ifneq ($(HOST_JDK_TOOLS_JAR),)
ifeq ($(wildcard $(HOST_JDK_TOOLS_JAR)),)
$(error Error: could not find jdk tools.jar at $(HOST_JDK_TOOLS_JAR), 
please check if your JDK was installed correctly)
endif
endif

但是当 运行 find-jdk-tools-jar.sh 它输出正确的路径,tools.jar 确实位于其中。所以 make 使用了一些其他的后备方法?

在 OSX 上,/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/ 不在 JDK root 所在的位置。 JDK 安装主页通常是 /Library/Java/JavaVirtualMachines/jdk[无论你安装了什么]。jdk/Contents/Home

您需要正确配置 JAVA_HOME。