【React Native】学习记录(一)——环境搭建

news2024/9/25 9:32:35

Expo是一套工具,库和服务,可让您通过编写JavaScript来构建原生iOS和Android应用程序。

一开始学习的时候直接使用的是expo。

  npx create-expo-app my-app
  cd my-app
  npm run start

接下来需要搭建安卓和IOS端(为此特意换成了苹果电脑),主要参考的是 这里。

先说说比较容易大家的苹果系统:(在此之前记得先安装node)

# 先安装brew,使用国内的地址
/usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)"

# 安装watchman(mac可以安装)
brew install watchman

# 在开发过程中会用到npm, 建议切换源
npx nrm use taobao

可以通过 App Store 或是到Apple 开发者官网上下载Xcode,下载完成之后启动 Xcode,并在Xcode | Preferences | Locations菜单中检查一下是否装有某个版本的Command Line Tools

在这里插入图片描述

接下来你可以在Xcode中新建一个IOS项目:

在这里插入图片描述

CocoaPods是官方推荐安装的,可以理解为针对 iOS 的 npm

brew install cocoapods

到这里IOS安装完成,可以在项目中执行npm run ios

接下来是安卓的安装,这里强调需要确保上网自由!!!

# 名为 Zulu 的 OpenJDK 发行版。此发行版同时为 Intel 和 M1 芯片提供支持
brew tap homebrew/cask-versions
brew install --cask zulu11

# 查看jdk是否安装成功
javac -version

首先下载和安装 Android Studio,这里我直接采用了标准的安装模式。需要等很久~

安装成功之后,打开软件,在 Android Studio 的欢迎界面中找到 SDK Manager。点击"Configure",然后就能看到"SDK Manager"。

在这里插入图片描述

在 SDK Manager 中选择"SDK Platforms"选项卡,然后在右下角勾选"Show Package Details"。展开Android 13 (Tiramisu)选项,确保勾选了下面这些组件:

  • Android SDK Platform 33
  • Intel x86 Atom_64 System Image(官方模拟器镜像文件,使用非官方模拟器不需要安装此组件)或是Google APIs ARM 64 v8a System Image(针对 Apple Silicon 系列机型)

然后点击"SDK Tools"选项卡,同样勾中右下角的"Show Package Details"。展开"Android SDK Build-Tools"选项,确保选中了 React Native 所必须的33.0.0版本。你可以同时安装多个其他版本。

之后配置环境变量:

# 在终端中执行
vim ~/.zshrc

# 输入单字母i,表示进入输入模式insert
# 将下列内容进行粘贴:
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
# 按esc
# 输入 :wq 注意是三个字符而不是两个

# 使环境变量设置立即生效
source ~/.zshrc

#检查此变量是否已正确设置
echo $ANDROID_HOME

新建安卓项目,点击运行,那么此时就会弹出一个模拟器了,确保了安卓项目是可以打开模拟器的。

建议到这一步,还是重启一下电脑,然后回到我们的react native项目中,测试一波:

npm run start
# 然后按下a打开安卓模拟器
# 打开之后再按下i,打开ios模拟器

在这里插入图片描述

到这里就安装完成了~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/796713.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AArch64异常模型

概述 AArch64 异常模型指南介绍了 Armv8‑A 和 Armv9‑A 中的异常和特权模型。它涵盖了 Arm 架构中不同类型的异常,以及与异常相关的处理器行为。 这些内容适用于底层代码(例如boot code或kernel)开发人员,对于配置或者管理异常…

【家庭公网IPv6】

家庭公网IPv6 这里有两个网站: 1、 IPV6版、多地Tcping、禁Ping版、tcp协议、tcping、端口延迟测试,在本机搭建好服务器后,可以用这个测试外网是否可以访问本机; 2、 IP查询ipw.cn,这个可以查询本机的网络是否IPv6访问…

ChatGPT把python 的import和from讲明白了

文章目录 1、import:import关键字用于导入整个模块,您可以使用该模块中的所有对象。语法如下:2、from ... import ...:from ... import ... 语法用于从模块中导入特定的对象,而不是导入整个模块。您可以通过这种方式选…

Nginx系列之 一 搭建文件共享服务器

目录 一、概述 二、实现 三、Nginx的限速 3.1 并发限制 3.2 速度限制 Nginx系列之 一 入门安装_开着拖拉机回家的博客-CSDN博客 Nginx系列之 一 反向代理_开着拖拉机回家的博客-CSDN博客 Nginx系列之 一 负载均衡_开着拖拉机回家的博客-CSDN博客 一、概述 Nginx一个高性…

【Docker--harbor私有仓库部署与管理】

目录 一、Harbor 部署1. 部署 Docker-Compose 服务2. 部署 Harbor 服务(1)下载或上传 Harbor 安装程序(2)修改harbor安装的配置文件 3. 启动 Harbor4. 查看 Harbor 启动镜像5. 创建一个新项目1、在虚拟上进行登录 Harbor2、下载镜…

QT连接Mysql数据库

文章目录: 一:准备工作 1.确保QT有Mysql驱动 2.创建数据库和表 二:连接数据库 1.目录结构 2.编辑pro文件 3.编辑.cpp文件 4.运行结果 一:准备工作 1.确保QT有Mysql驱动 这个是QT自己没有的,需要单独下载 不然就…

透过黑马程序员7月就业数据,看下半年经济复苏及数字化人才发展趋势

近日,黑马程序员深圳校区发布了一则就业数据,引得网友围观,其中,Java138期毕业当天就业率达到60.94%,平均就业薪资10148元;Java139期毕业后1个工作日就业率达到了73.13%,平均薪资10505元&#x…

关于anki的一些思考

文章目录 通常情况下选择什么模板制卡?一张填空卡片的填空数量到底要多少才合适? 通常情况下选择什么模板制卡? 通常情况是指知识是以一段文字的形式呈现,而不是这些:单词、选择题、成语等(这些都可以定制…

【机器学习】 奇异值分解 (SVD) 和主成分分析 (PCA)

一、说明 在机器学习 (ML) 中,一些最重要的线性代数概念是奇异值分解 (SVD) 和主成分分析 (PCA)。收集到所有原始数据后,我们如何发现结构?例如,通过过去 6 天…

Java后端开发 —— 记录一个spring入门案例

前言 最近荔枝在转技术栈呢,后端Java零零散散也学了半个月,在一边总结blog输出的同时一遍实操项目。最近学完JavaSE部分的重点之后荔枝来入手spring框架,说起spring其实大家耳熟能详的就想起IoC和AOP了,但在这篇文章荔枝主要还是梳…

Ubuntu22.04 安装Anaconda

文章目录 1.下载Anaconda2.安装Anaconda3.启动环境4.常用命令4.1创建虚拟环境4.2查询当前系统conda虚拟环境4.3挂载虚拟环境4.4退出虚拟环境4.5查看已安装的工具包4.6删除虚拟环境 1.下载Anaconda (1)下载地址:https://mirrors.tuna.tsinghu…

低代码开发重要工具:jvs-flow(流程引擎)审批功能配置说明

流程引擎场景介绍 流程引擎基于一组节点与执行界面,通过人机交互的形式自动地执行和协调各个任务和活动。它可以实现任务的分配、协作、路由和跟踪。通过流程引擎,组织能够实现业务流程的优化、标准化和自动化,提高工作效率和质量。 在企业…

无涯教程-jQuery - jQuery.ajax( options )方法函数

jQuery.ajax(options)方法使用HTTP请求加载远程页面。 $.ajax()返回它创建的XMLHttpRequest。在大多数情况下,您不需要该对象直接进行操作,但是如果您需要手动中止请求,则可以使用该对象。 jQuery.ajax( options ) - 语法 $.ajax( options…

Talk | 卡内基梅隆大博士生侯博涵:MLC-LLM-机器学习编译与在大语言模型上的应用

本期为TechBeat人工智能社区第516期线上Talk! 北京时间7月26日(周三)20:00, 卡内基梅隆大博士生—侯博涵的Talk已经准时在TechBeat人工智能社区开播了! 他与大家分享的主题是: “MLC-LLM-机器学习编译与在大语言模型上的应用”,与…

服务器VNC软件与服务器中Sentaurus TCAD软件相关问题汇总(持续更新中)

目录 license失效问题个人端口的VNC无法连接/系统页面失效(无最小化、关闭等)也可以用该方法重启VNC后端口发生混乱/断电后个人端口无法连接操作的步骤在Centos环境下给Sentaurus TCAD安装编辑器jeditSSH重启VNC rootCentos查看NETMASK,GATWAY,DNS licen…

基于vue3.0实现vr全景编辑器

随着社会的不断发现,现实生活中有很多时候会使用到全景现实,比如房地产行业vr看房,汽车行业vr看车之类的,全景可视化真实还原了现场的场景,真正做到沉浸式体验。 现在我们基于vue3.0版本开发出了一款沉浸式的编辑器&a…

拿捏 ---> 水仙花数+变种水仙花数

文章目录 题目描述(水仙花数)思路代码示例方法一方法二 题目描述(变种水仙花数)思路代码示例 题目描述(水仙花数) 求出0~1000之间的所有“水仙花数”并输出。“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身&a…

ThinkPHP8知识详解:ThinkPHP8特性和功能介绍

ThinkPHP8 是一个开源的 PHP 框架,采用了面向对象编程和 MVC(Model-View-Controller)设计模式,提供了丰富的功能和易于使用的 API,是一个适用于 web 应用开发的高效框架。 ThinkPHP8具有许多强大的特性和功能&#xf…

k8s容器日志收集方案

背景 由于以下容器本身特性和现有日志采集工具的缺陷,开发者在收集Kubernetes分布式集群日志时常常遇到困扰: 容器本身特性: 采集目标多:容器本身的特性导致采集目标多,需要采集容器内日志、容器stdout。对于容器…

三分钟带你了解音频转文字哪个好用

在数字世界的角落里,有一项神奇的技术——音频转文字。它隐藏着巨大的力量和惊人的能力。它如同一位神奇的文字解码师,能够将听觉的旋律转化为视觉的符号,让语言的美妙之音在屏幕上跃然纸上。接下来,让我带你进入这个充满奇迹的数…