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. 安装软件

  1. 安装node版本,我直接v22
  2. 安装JDK,使用17版本brew install --cask zulu@17
  3. 安装android Studio,安装最新版的就行,其他的安装配置全默认。安装完成之后看看SDK Manage是这样的。然后边上有模拟器标签,(下图2️⃣),里面已经装了一个默认的模拟器。

一些简单配置:

SDK版本根据模拟机型号选择即可,默认好像是有下个16的。

2. 配置环境变量

找到.zshrc文件(命令行打开也行),往里面配置下面的环境变量,配置完记得source ~/.zshrc 执行。

其实ANDROID_HOME的地址就是上面SDK manage里面的地址

javascript 复制代码
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就行了。

有几个排查方向:

  1. 运行内存够不够。
  2. 路径有没有中文。
  3. ADB安装好没有,在控制台输入adb回车看看,有没有正确安装上。
    OK上面的都好了,然后看SDK manage也都装上了对应的SDK(第一个步骤有截图),装上了对应的模拟机,还是打不开,那恭喜你,根据下面的步骤重新检查:(以下部分来自AI & 网络)
1. 检查Android开发环境
bash 复制代码
# 检查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版本以上,升级解决了这个问题成功启动模拟器了诶嘿!

javascript 复制代码
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那可视界面创建更方便

bash 复制代码
# 列出可用的系统镜像
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项目访问只能在模拟机里面看到)

开发组件

相关推荐
帅次3 个月前
Flutter TabBar / TabBarView 详解
android·flutter·ios·小程序·iphone·taro·reactnative
帅次3 个月前
Flutter BottomNavigationBar 详解
android·flutter·ios·小程序·iphone·reactnative
努力的搬砖人.5 个月前
React相关面试题
react native·react.js·面试·reactjs·reactnative
️ 邪神9 个月前
【Android、IOS、Flutter、鸿蒙、ReactNative 】自定义View
flutter·ios·鸿蒙·reactnative·anroid
️ 邪神9 个月前
【Android、IOS、Flutter、鸿蒙、ReactNative 】启动页
android·flutter·ios·鸿蒙·reactnative
️ 邪神9 个月前
【Android、IOS、Flutter、鸿蒙、ReactNative 】水平布局
flutter·ios·鸿蒙·reactnative·anroid
️ 邪神9 个月前
【Android、IOS、Flutter、鸿蒙、ReactNative 】约束布局
android·flutter·ios·鸿蒙·reactnative
️ 邪神9 个月前
【Android、IOS、Flutter、鸿蒙、ReactNative 】文本点击事件
flutter·ios·鸿蒙·reactnative·anroid
️ 邪神9 个月前
【Android、IOS、Flutter、鸿蒙、ReactNative 】文本Text显示
flutter·ios·鸿蒙·reactnative·anroid