【发布时间】:2018-08-22 14:04:15
【问题描述】:
我正在尝试在 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_HOME 和 ANDROID_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 使用了其他的备用方法吗?
【问题讨论】:
-
make不需要知道 Java 在哪里。在build/core/config.mk:601运行的命令确实 -
尝试设置:在 ~/.profile 中导出 JAVA_HOME=$(/usr/libexec/java_home)。您可以使用特定版本(例如 java_home -v 1.8)。
-
JAVA_HOME设置正确,
java_home -v 1.8返回相同路径
标签: java macos java-8 gnu-make android-source