centos8sdkmager更新工具失败



我使用最新的命令行工具

sudo curl https://dl.google.com/android/repository/commandlinetools-linux-7302050_latest.zip -o android-sdk.zip
sudo yum install unzip
sudo unzip android-sdk.zip -d .

尝试更新工具时,失败

sudo ./cmdline-tools/bin/sdkmanager "tools"

错误:未设置JAVA_HOME,在中找不到"JAVA"命令您的路径。请将环境中的JAVA_HOME变量设置为匹配Java安装的位置。

但我已经设置了JAVA_HOME和JDK

sudo tee /etc/profile.d/jdk1.8.0.sh <<EOF
export JAVA_HOME=/opt/jdk1.8.0_261
export PATH=$PATH:$JAVA_HOME/bin
EOF

可以验证PATH和JAVA_HOME

# echo $PATH
/root/.nvm/versions/node/v16.1.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/jdk1.8.0_261/bin:/root/bin
# echo $JAVA_HOME
/opt/jdk1.8.0_261

有人能帮忙吗?

不能使用sudo,因为在文件中/cmdline工具/bin/sdkmanager

# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

当我运行时

sudo which java 
which: no java in (/sbin:/bin:/usr/sbin:/usr/bin)

下面的代码可以

./cmdline-tools/bin/sdkmanager "tools" --sdk_root=/home/android/android_sdk/sdk

相关内容

最新更新