Ubuntu 20下React Native Doctor无法识别Android SDK求助
解决Ubuntu 20下React Native无法识别Android SDK及Sdkmanager版本兼容问题
核心问题定位
你遇到的UnsupportedClassVersionError是关键:
- class文件版本61.0对应Java 17,当前系统使用的Java 11(版本号55.0)无法兼容该版本的sdkmanager
- Android Studio Giraffe(2023.3.1)本身要求Java 17运行环境,这才是导致sdkmanager执行失败、react-native doctor无法检测到Android SDK的根本原因,无需降级Android Studio
解决方案步骤
1. 安装Java 17(OpenJDK)
在Ubuntu 20终端执行以下命令:
sudo apt update sudo apt install openjdk-17-jdk
2. 更新环境变量配置
编辑~/.bashrc文件,替换原有的JAVA_HOME配置:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export PATH=$PATH:$JAVA_HOME/bin
保存文件后,刷新环境变量:
source ~/.bashrc
验证Java版本是否切换成功:
java -version
输出应显示openjdk version "17.x.x"
3. 验证Sdkmanager可用性
执行以下命令确认sdkmanager能正常运行:
/home/77milions/Android/Sdk/cmdline-tools/latest/bin/sdkmanager --list
若能正常列出已安装的SDK组件,说明兼容性问题已解决。
4. 重新检测React Native环境
运行react-native doctor重新检查:
npx react-native doctor
此时应该能正常识别Android SDK及相关组件。
额外注意事项
- 确保Android Studio设置中的SDK路径与
ANDROID_HOME/ANDROID_SDK_ROOT完全一致(已确认是/home/77milions/Android/Sdk,无需修改) - 若仍有检测问题,可尝试重启终端或重新登录系统,确保环境变量完全生效
内容的提问来源于stack exchange,提问作者Milions-77
相关产品推荐
相关产品推荐

