Apple M2 Mac下React Native无法检测到Android SDK问题求助
修复M2 Mac上react-native doctor检测不到Android SDK的问题
1. 检查cmdline-tools目录结构
Android Studio的cmdline-tools默认可能不会自动创建latest软链接,导致react-native无法识别:
- 打开终端,查看cmdline-tools目录结构:
ls -la $HOME/Library/Android/sdk/cmdline-tools - 如果看到具体版本目录(比如
8.0)而非latest,手动创建软链接:ln -s $HOME/Library/Android/sdk/cmdline-tools/你的版本号 $HOME/Library/Android/sdk/cmdline-tools/latest - 或者直接修改
.zshrc中的路径为具体版本目录,例如:export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/8.0/bin
修改后执行source ~/.zshrc刷新环境变量。
2. 验证sdkmanager命令有效性
终端运行以下命令,确认SDK工具可正常调用:
sdkmanager --list
如果能输出已安装的SDK组件列表,说明环境变量配置正确;如果报错,检查路径是否与实际SDK安装目录一致。
3. 确认Android Studio的SDK路径
打开Android Studio,依次进入:Settings > Appearance & Behavior > System Settings > Android SDK
查看SDK Location是否为$HOME/Library/Android/sdk,如果不是,更新.zshrc中的ANDROID_SDK_ROOT为实际路径,再执行source ~/.zshrc。
4. 手动指定SDK路径到项目
在React Native项目的根目录创建local.properties文件,添加以下内容(替换为你的实际用户名):
sdk.dir=/Users/你的用户名/Library/Android/sdk
该文件会让React Native直接读取指定的SDK路径,绕过环境变量检测的问题。
5. 确认必要SDK组件已安装
在Android Studio的SDK Manager中,确保勾选并安装以下组件:
- Android SDK Platform 34
- Android SDK Build-Tools 34.x.x
- Android SDK Command-line Tools(最新版本)
- Android Emulator
- Platform Tools
完成以上步骤后,重新运行npx react-native doctor即可检测到Android SDK。
内容的提问来源于stack exchange,提问作者Hai Tien
相关产品推荐
相关产品推荐

