You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Android SDK命令行工具(sdkmanager等)运行报错问题

解决Android SDK Manager的UnsupportedClassVersionError错误

问题说明

在Linux Mint 21.2系统中编译基于Python 3.10.12开发的Android应用,安装Android SDK命令行工具(commandlinetools-linux-10406996_latest.zip)并配置路径后,运行sdkmanager "platforms;android-27"时,使用OpenJDK 8或11均触发UnsupportedClassVersionError,提示类文件版本61.0高于当前JRE支持的最高版本,设置JAVA_HOME指向JDK8或11后问题仍存在。

OpenJDK 8下的错误日志

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/sdklib/tool/sdkmanager/SdkManagerCli has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:621)

OpenJDK 11下的错误日志

Error: LinkageError occurred while loading main class com.android.sdklib.tool.sdkmanager.SdkManagerCli
    java.lang.UnsupportedClassVersionError: com/android/sdklib/tool/sdkmanager/SdkManagerCli has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

解决方法

1. 类版本对应关系说明

类文件版本61.0对应OpenJDK 17,你当前使用的JDK8(对应版本52.0)、JDK11(对应版本55.0)版本过低,无法兼容该版本的sdkmanager,必须安装并使用OpenJDK 17或更高版本。

2. 安装OpenJDK 17

在Linux Mint 21.2中执行以下命令安装:

sudo apt update && sudo apt install openjdk-17-jdk

3. 配置JAVA_HOME指向JDK17

  • 临时生效(仅当前终端会话):
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
  • 永久生效(重启终端后仍有效):
    编辑~/.bashrc或~/.profile文件,添加上述两行配置,然后执行source ~/.bashrc(或对应文件)使配置生效。

4. 验证Java版本

运行以下命令确认当前使用的是OpenJDK 17:

java -version

输出应类似:

openjdk version "17.0.x" 202x-xx-xx
OpenJDK Runtime Environment (build 17.0.x+xx-Ubuntu-0ubuntu1.22.04)
OpenJDK 64-Bit Server VM (build 17.0.x+xx-Ubuntu-0ubuntu1.22.04, mixed mode, sharing)

5. 重新运行sdkmanager

回到Android SDK命令行工具所在目录,执行:

./sdkmanager "platforms;android-27"

内容的提问来源于stack exchange,提问作者SFriendly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 16:33:34