MacBook M3 Pro:React Native 安卓开发

一、 为什么是 Macbook M3 Pro ?

  • 原生 ARM 支持: 安卓模拟器在 M3 芯片上几乎是"零延迟"运行。
  • 超快编译: 相比 Intel Mac,Gradle 构建速度提升约 50% 以上。
  • 统一生态: 同一台机器可同时开发 iOS 和 Android,且无需频繁重启。

二、 基础环境安装 (The Toolchain)

请按顺序通过 终端 (Terminal) 执行以下安装:

  1. Homebrew (包管理器):
bash 复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. Node & Watchman (运行环境):
    建议 Node 版本 ≥ 18
bash 复制代码
brew install node watchman
  1. Java (JDK) :
    强烈建议使用 Azul Zulu,它是目前对 Apple Silicon 支持最好的 JDK。
bash 复制代码
brew install --cask zulu@17

三、 Android Studio 核心配置

1. 下载与安装

  • 版本选择: 必须选择 "Mac with Apple chip" 版本的 .dmg
  • 安装组件: 确保勾选 Android SDKAndroid SDK PlatformAndroid 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. 启动项目

  1. 启动 Metro 服务:
bash 复制代码
npm start
  1. 运行安卓: (新开一个终端窗口)
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 ToolsES7+ React/Redux/React-Native snippets

✅ React Native doctor 报错的根因

  1. Metro bundler 未启动
  2. Android SDK 未被正确识别(缺失 platform android-36)

核心阻断点在于:

你的 Android SDK 缺失 cmdline-tools 或目录结构错误,导致无法安装正确版本的 SDK Platform。

你后来修复了 cmdline-toolssdkmanager --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 即可恢复正常。

相关推荐
感觉不怎么会2 小时前
Android 13 - 对讲app后台休眠后无法录音
android·linux
Minilinux20183 小时前
Android系列之 屏幕触控机制(一)
android·屏幕触控·andorid touch·viewroot
冰语竹3 小时前
Android学习-随笔(安装后设置路径)
android·学习
摘星编程4 小时前
用React Native开发OpenHarmony应用:useImperativeHandle暴露实例方法
javascript·react native·react.js
有位神秘人4 小时前
Android中获取当前屏幕的宽高工具类
android
Yang-Never4 小时前
Open GL ES -> 应用前后台、Recent切换,SurfaceView纹理贴图闪烁问题分析解决
android·开发语言·kotlin·android studio·贴图
比特森林探险记5 小时前
React基础:语法、组件与JSX
前端·javascript·react.js
liujun35121595 小时前
camera开发,我对预览请求的理解
android
无法长大5 小时前
Mac M1 环境下使用 Rust Tauri 将 Vue3 项目打包成 APK 完整指南
android·前端·macos·rust·vue3·tauri·打包apk