执行sdkmanager --list遇LinkageError,Java版本兼容问题求助
问题解决办法
错误原因
你遇到的UnsupportedClassVersionError本质是版本不兼容:
SdkManagerCli类文件是用Java 17(对应class文件版本61.0)编译的- 你当前环境使用的Java版本是Java 11(对应class文件版本55.0),无法识别更高版本编译的类文件
具体解决步骤
- 先确认当前Java版本:执行命令
java -version,确认输出的版本号是否为11及以下。 - 下载并安装Java 17(推荐OpenJDK 17,这是Android SDK工具当前要求的稳定兼容版本)。
- 调整环境变量,让系统优先使用Java 17:
- Windows:打开系统环境变量设置,将Java 17安装目录下的
bin路径移到PATH最顶端;也可以临时在命令行执行:set JAVA_HOME=你的Java17安装路径 set PATH=%JAVA_HOME%\bin;%PATH% - Linux/macOS:在终端执行:
export JAVA_HOME=你的Java17安装路径 export PATH=$JAVA_HOME/bin:$PATH
- Windows:打开系统环境变量设置,将Java 17安装目录下的
- 验证版本:重新打开命令行,执行
java -version,确认输出为Java 17。 - 再次运行
sdkmanager --list,即可正常执行。 - Eclipse适配:Eclipse可单独配置JRE,无需全局修改。打开
Window > Preferences > Java > Installed JREs,添加Java 17作为可选JRE;若需在Eclipse中调用SDK工具,可在对应配置项指定使用该JRE,不影响原有项目的Java版本。
内容的提问来源于stack exchange,提问作者mubin morshed
相关产品推荐
相关产品推荐

