RN项目环境搭建和使用-Mac版本(模拟器启动不起来的排查)
ReactNative:
https://github.com/facebook/react-native
https://reactnative.cn/docs/getting-started (可以先通读一下这个)
环境搭建
(mac版)https://juejin.cn/post/7404860612758765605
搭建之前确认版本:
androidStudio <=> RN <=> xcode,并且对应版本也决定了IOS/ Android的可兼容版本。
我这边就用JDK 17版本,RN版本0.73,Xcode安装最新的就好。
1. 安装软件
- 安装node版本,我直接v22
- 安装JDK,使用17版本
brew install --cask zulu@17
- 安装android Studio,安装最新版的就行,其他的安装配置全默认。安装完成之后看看SDK Manage是这样的。然后边上有模拟器标签,(下图2️⃣),里面已经装了一个默认的模拟器。
一些简单配置:
- 使用国内镜像加速 SDK 下载(可选)
如果 SDK 下载速度较慢,可以配置国内镜像源:
在 Preferences → Appearance & Behavior → System Settings → Android SDK。
进入 SDK Update Sites,手动添加:
https://mirrors.tencent.com/android/repository/
https://mirrors.aliyun.com/android/repository/- 中文配置
SDK版本根据模拟机型号选择即可,默认好像是有下个16的。
2. 配置环境变量
找到.zshrc文件(命令行打开也行),往里面配置下面的环境变量,配置完记得source ~/.zshrc 执行。
其实ANDROID_HOME的地址就是上面SDK manage里面的地址
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/emulator
配置完毕后新开一个终端输入adb
试试,这是用来插入USB真机调试的工具。输出了一堆东西就行。
3. 运行模拟机试试
这个环节卡了我一周,服了,一直在找原因
报错 The emulator process for AVD Medium_Phone has terminated
。
先说结论,我的macOS版本太低11点几,androidStudio给我自动装的工具库底层需要v12.6版本以上才能运行,所以我重新升级了系统版本升级到v15就行了。
有几个排查方向:
- 运行内存够不够。
- 路径有没有中文。
- ADB安装好没有,在控制台输入adb回车看看,有没有正确安装上。
OK上面的都好了,然后看SDK manage也都装上了对应的SDK(第一个步骤有截图),装上了对应的模拟机,还是打不开,那恭喜你,根据下面的步骤重新检查:(以下部分来自AI & 网络)
1. 检查Android开发环境
# 检查Android SDK是否正确安装
echo $ANDROID_HOME
# 应该输出类似: /Users/xxx/Library/Android/sdk# 检查PATH是否包含Android工具
echo $PATH | grep -i android# 检查adb是否可用
adb version# 检查模拟器工具
emulator -list-avds
我就是在emulator -list-avds
这个步骤的时候发现模拟器工具运行失败,报错提示我得装12.6版本以上,升级解决了这个问题成功启动模拟器了诶嘿!
emulator -list-avds
dyld: Symbol not found: __ZTVNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE
Referenced from: /Users/xxxx./Library/Android/sdk/emulator/lib64/libabseil_dll.dylib (which was built for Mac OS X 12.6)
Expected in: /usr/lib/libc++.1.dylib
in /Users/xxxx./Library/Android/sdk/emulator/lib64/libabseil_dll.dylib
zsh: abort emulator -list-avds
2. 创建Android模拟器
AI给出的是下面的命令行创建,但是我的建议是直接在androidStudio那可视界面创建更方便
# 列出可用的系统镜像 sdkmanager --list | grep "system-images"# 安装系统镜像(选择一个合适的版本) sdkmanager "system-images;android-34;google_apis;arm64-v8a" # 创建AVD(Android虚拟设备) avdmanager create avd -n "Pixel_4_API_34" -k "system-images;android-34;google_apis;arm64-v8a" -d "pixel_4" # 验证模拟器创建成功 emulator -list-avds
其实创建真的很简单,直接看没有下载箭头就行,界面像这样:
创建一个最简单的项目并且运行
npx react-native init NewProject
运行起来之后是一个这个样子(注意:这个web页面只能用来debug,不能访问RN项目的路由,RN项目访问只能在模拟机里面看到)