当前位置: 首页 > news >正文

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 下载(可选)
    如果 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就行了。
在这里插入图片描述
有几个排查方向:

  1. 运行内存够不够。
  2. 路径有没有中文。
  3. 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项目访问只能在模拟机里面看到)
在这里插入图片描述

开发组件

在这里插入图片描述

http://www.dtcms.com/a/317394.html

相关文章:

  • Python虚拟环境完全指南:pyenv vs venv 在macOS上的使用详解
  • Mac安装WebStorm
  • java中Reflection反射(一)
  • MCU AI/ML - 弥合智能和嵌入式系统之间的差距
  • Java猜数字简易小游戏可复制
  • qt6 cmake vscode加载qrc图片资源
  • vue3 el-select el-option 使用
  • 批量打印Excel条形码
  • Linux入门DAY18
  • 单变量单步时序预测:CNN-GRU卷积神经网络结合门控循环单元
  • EasyExcel高效工具类:简化Excel导入导出,支持多Sheet与枚举转换
  • 基于CentOS-7.6部署k8s-1.24.0,containerd作为CRI,nerdctl作为容器管理CLI
  • Datawhale AI 夏令营 让AI读懂财报PDF(多模态RAG)202508
  • bool 类型转换运算符重载
  • WordPress自定义.js文件排序实现方法
  • CSS :is () 与 :where ():简化复杂选择器的 “语法糖”
  • 凸优化:鞍点和对偶停止设计准则
  • 基于PHP的快递管理系统的设计与实现
  • 利用C++11和泛型编程改进原型模式
  • 开发笔记 | 接口与抽象基类说明以及对象池的实现
  • SpringBoot 3.x整合Elasticsearch:从零搭建高性能搜索服务
  • JSON巴巴 - 专业JSON格式化工具:让任何JSON都能完美格式化
  • 基于 Jenkins Pipeline 实现 DITA 文档自动化构建与发布(开源方案)
  • Jenkinsfile各指令详解
  • 国民技术N32G003实现PMBus从机及使用STM32F103模拟I2C主机访问从机
  • PostgreSQL 通配符指南:解锁 LIKE 查询的魔法 - % 与 _ 详解
  • 区块链技术在供应链管理中的应用案例
  • C语言的综合案例
  • HIVE 窗口函数处理重复数据
  • WebStorm转VSCode:高效迁移指南