一、 为什么是 Macbook M3 Pro ?
- 原生 ARM 支持: 安卓模拟器在 M3 芯片上几乎是"零延迟"运行。
- 超快编译: 相比 Intel Mac,Gradle 构建速度提升约 50% 以上。
- 统一生态: 同一台机器可同时开发 iOS 和 Android,且无需频繁重启。
二、 基础环境安装 (The Toolchain)
请按顺序通过 终端 (Terminal) 执行以下安装:
- Homebrew (包管理器):
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Node & Watchman (运行环境):
建议 Node 版本 ≥ 18
bash
brew install node watchman
- Java (JDK) :
强烈建议使用 Azul Zulu,它是目前对 Apple Silicon 支持最好的 JDK。
bash
brew install --cask zulu@17
三、 Android Studio 核心配置
1. 下载与安装
- 版本选择: 必须选择 "Mac with Apple chip" 版本的
.dmg。 - 安装组件: 确保勾选
Android SDK、Android SDK Platform、Android Virtual Device。
2. SDK 组件详情 (SDK Manager)
进入 Settings > Languages & Frameworks > Android SDK:
- SDK Platforms: 勾选
Android 14.0 (Upside Down Cake)或更高版本。 - SDK Tools: 勾选
Android SDK Command-line Tools (latest)和CMake。
3. 模拟器配置 (Device Manager)
- 关键点: 创建虚拟设备时,**System Image 必须选择
arm64-v8a**。 - 性能建议: M3 Pro 内存充足,可给模拟器分配 4GB 以上内存。
四、 环境变量配置 (.zshrc)
这是连接终端与安卓工具的桥梁。打开终端执行 nano ~/.zshrc,粘贴以下内容:
bash
# Android SDK 路径
export ANDROID_HOME=$HOME/Library/Android/sdk
# 关键工具链路径
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
# Java 环境
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
生效命令: source ~/.zshrc
五、 初始化与运行项目
1. 创建项目
bash
npx react-native@latest init MyProject
2. 启动项目
- 启动 Metro 服务:
bash
npm start
- 运行安卓: (新开一个终端窗口)
bash
npm run android
六、 M3 Pro 专属避坑与优化技巧
| 常见问题 | 解决方案 |
|---|---|
| Command not found: emulator | 确保 .zshrc 路径正确并执行了 source。 |
| 模拟器启动黑屏/闪退 | 检查是否选了 x86 镜像,必须改为 arm64-v8a。 |
| CocoaPods 报错 (iOS 端) | M3 芯片有时需要执行 arch -x86_64 pod install,但新版 RN 已基本原生支持。 |
| 电脑发热严重 | 检查是否有进程在通过 Rosetta 运行,尽量使用原生 ARM 版本的软件。 |
七、 进阶建议
- 真机调试: M3 Pro 的接口是 USB-C,连接安卓真机时,请确保在手机上开启了"开发者模式"和"USB 调试"。
- VS Code 插件: 安装
React Native Tools和ES7+ React/Redux/React-Native snippets。
✅ React Native doctor 报错的根因
- Metro bundler 未启动
- Android SDK 未被正确识别(缺失 platform android-36)
核心阻断点在于:
你的 Android SDK 缺失
cmdline-tools或目录结构错误,导致无法安装正确版本的 SDK Platform。
你后来修复了 cmdline-tools,sdkmanager --list 已经能执行,这部分已经解决。
✅ 当前剩余问题
你仍然遇到:
sdkmanager: command not found
说明你的 PATH 未包含:
$ANDROID_HOME/cmdline-tools/latest/bin
并且你的 SDK 中仍然缺少:
platforms/android-36
React Native 必须要这个。
🛠️ 最终解决步骤(完整、可靠、一次到位)
Step 1:配置环境变量(持久生效)
编辑 ~/.zshrc:
bash
export ANDROID_HOME="/Users/guixueliang.1/Library/Android/sdk"
export PATH="$ANDROID_HOME/platform-tools:$PATH"
export PATH="$ANDROID_HOME/emulator:$PATH"
export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$PATH"
刷新:
bash
source ~/.zshrc
验证:
bash
sdkmanager --version
Step 2:安装 Android SDK Platform 36(核心步骤)
bash
sdkmanager "platforms;android-36" "platform-tools" "build-tools;36.0.0"
验证安装是否成功:
bash
ls $ANDROID_HOME/platforms
必须看到:
android-36
Step 3:启动 Metro Bundler
bash
npx react-native start
Step 4:重新检查
bash
npx react-native doctor
结果应为全绿 √。
📌 总结一句话版本
你的 React Native 环境出错是因为 Android SDK 缺失 platform android-36,而这个缺失又是由于 cmdline-tools 路径错误导致 sdkmanager 无法运行。修复路径 → 配置 PATH → 使用 sdkmanager 安装 API-36 → doctor 即可恢复正常。