- 问题描述
- 解决方案
我在编译完Android 9.0的代码后,再次编译Android 4.4的代码,发现报以下错误。
You are using version 4.2.1 of make. Android can only be built by versions 3.81 and 3.82. see https://source.android.com/source/download.html
根据提示我们可以看到,是make版本过高的问题。
在询问了公司 IT 大佬之后,解决方案是换一下jdk版本,我们的问题可能存在不一致,这边是提供一下解决思路,我的问题确实是这么解决的。
首先在源代码中新建opt目录,并创建如下两个文件。
内部代码如下:
-
old-make.sh
export PATH=/opt/make/bin:$PATH
-
choose_java_version.sh
#!/bin/sh JAVA_5_PATH="/opt/jdk1.5.0_21/bin" JAVA_6_PATH="/opt/jdk1.6.0_29/bin" JAVA_7_PATH="/opt/jdk1.7.0_65/bin" JAVA_8_PATH="/opt/openjdk-1.8/bin" OPENJDK_7_PATH="/opt/java-7-openjdk-amd64/bin" echo " !!Attention!! This environment only available in the current shell!! Please choose which version you want, just input the number[1/2/3/4/5] 1) java 1.5 2) java 1.6 3) java 1.7 4) openjdk 1.8 5) openjdk 1.7 " while read -p "Plase choose your version: " JAVA_VERSION do case $JAVA_VERSION in 1) JAVA_PATH=$JAVA_5_PATH echo "Already set the java version to be 1.5" break;; 2) JAVA_PATH=$JAVA_6_PATH echo "Already set the java version to be 1.6" break;; 3) JAVA_PATH=$JAVA_7_PATH echo "Already set the java version to be 1.7" break;; 4) JAVA_PATH=$JAVA_8_PATH echo "Already set the java version to be 1.8" break;; 5) JAVA_PATH=$OPENJDK_7_PATH echo "Already set java to openjdk 1.7" break;; *) echo "Wrong type, you need use number[1/2/3/4]" continue;; esac done export PATH=$JAVA_PATH:$PATH
之后执行命令:source /opt/old-make.sh source /opt/choose_java_version.sh
然后就可以选择jdk版本了
注意:你需要确认你都有哪些版本的jdk,此代码仅供参考,你需要依据你实际进行更改!!!



