当前位置: 首页 > 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.lryc.cn/news/611756.html

相关文章:

  • Solidity 编程进阶
  • 阿里国际招AI产品经理咯
  • 用 “私房钱” 类比闭包:为啥它能访问外部变量?
  • Google Chrome <139.0.7236.0 UAF漏洞
  • RabbitMQ面试精讲 Day 12:镜像队列与Quorum队列对比
  • MATLAB下载教程MATLAB R2025a 保姆级安装步骤(附安装包)
  • 双馈和永磁风机构网型跟网型联合一次调频并入同步机电网,参与系统一次调频,虚拟惯量下垂,虚拟同步机VSG控制matlab/simulink
  • matlab——simulink学习(5向NXP库中添加新模块)
  • 计算机网络:如何判断B或者C类IP地址是否划分了子网
  • Linux之Shell脚本基本语法
  • 3步学会使用渲染101--3DMAX云渲染
  • 【计算机网络 | 第3篇】物理媒介
  • 【数据结构与算法-Day 12】深入浅出栈:从“后进先出”原理到数组与链表双实现
  • 探索Linux MMC子系统的奥秘
  • TypeScript 元组类型精简知识点
  • 大数据存储域——HDFS存储系统
  • MCP协议与Spring AI框架实战
  • NY112NY117美光固态闪存NY119NY123
  • 新手向:Python实现简易计算器
  • 疯狂星期四文案网第30天运营日记
  • mysql索引的用法
  • Suno API V5模型 python源码 —— 使用灵感模式进行出创作
  • 国产3D大型装配设计新突破①:图纸打开设计双加速 | 中望3D 2026
  • rsync 的三种常见用法
  • 学习bug
  • jmm 指令重排 缓存可见性 Volatile 内存屏障
  • word2vector细致分解(CBOW, SKIP_GRAM, 层次soft Max, 负采样)
  • linux创建虚拟内存
  • Linux Vim 常用快捷键
  • Java学习第一百一十部分——CI/CD