MacOS下React Native配置:已设环境变量仍检测不到Android SDK
解决react-native doctor检测不到Android SDK版本的问题
排查及修复步骤
1. 验证环境变量是否生效
在终端执行以下命令,确认环境变量加载状态:
echo $ANDROID_HOME echo $PATH | grep -E "(build-tools|cmdline-tools|platform-tools)" echo $JAVA_HOME
- 若
ANDROID_HOME输出为空或路径错误,执行source ~/.zshrc重新加载配置,同时确认修改的是正确的zsh配置文件(通常为~/.zshrc,部分用户可能使用~/.zprofile)。 - 补充
cmdline-tools的bin目录到PATH,修改zsh配置:export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
2. 核对SDK实际安装路径
打开Android Studio的SDK Manager,确认以下两点:
- "Android SDK Location"的路径和你配置的
ANDROID_HOME(/Users/mac/Library/Android/sdk)完全一致。 - 已安装至少一个Android SDK Platform(如Android 33/34),react-native doctor需要检测到具体的平台版本才能识别SDK。
3. 修复cmdline-tools目录结构
进入/Users/mac/Library/Android/sdk/cmdline-tools目录,确认存在latest文件夹,且内部包含bin、lib等子目录。若结构异常:
- 手动创建
latest目录,将cmdline-tools下的其他文件(除latest本身)移动到该目录中。 - 或在SDK Manager中卸载并重新安装"Command Line Tools"。
4. 重置react-native doctor缓存
执行命令清除缓存后重新检测:
yarn react-native doctor --reset-cache
5. 确认Java版本兼容性
验证Java版本是否符合react-native要求(需Java 11):
java -version
若版本不符,检查JAVA_HOME配置路径是否正确,执行source ~/.zshrc后重新验证。
内容的提问来源于stack exchange,提问作者Muhammad Uzair
相关产品推荐
相关产品推荐

