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

React native 原生环境搭建(最新版本RN环境搭建,不是expo)

前言

React Native 是 Facebook 推出的一款用于开发移动应用的框架,开发者可以用 JavaScript 和 React 等技术,一次编写代码,然后同时部署到 iOS 和 Android 平台上,大大节省了开发时间和人力成本,避免了为每个平台单独编写代码的重复工作。

支持热更新功能,开发者在应用发布后,可以在不发布新版本的情况下,通过更新服务器上的代码,实现应用的部分功能更新,用户无需重新下载安装应用,就能体验到新的功能或修复后的问题。

要想学会React Native,首先react的学习是一个基础。。。什么?你还问react为什么是基础?好了你别学了。

以下流程是我这几天经过大量阅读各种文档,询问技术大牛,不断碰壁总结出来的以win10系统为例的原生rn安装流程。

环境配置

1、node版本要求,这里你自己去安装

首先你的node版本应该在18及以上,我的是18版本,安装node时应该选择稳定版本(偶数版本)

2、下载JDK17


下载链接: https://pan.baidu.com/s/16fHRvj8ItMGVMg2ujtXkag?pwd=wjl6 提取码: wjl6

在我的网盘下载好JDK17之后,进行安装,一直Next就好。

当然了,JDK17也是需要配置环境变量的

首先变量名就设置成JAVA_HOME,变量值就是你的jdk的所在路径,一般默认来说就是C:\Program Files\Java\jdk-17

0c714e5be86c404d853ed3dc9f632f8d.png

其次,就是需要继续配置Path,新增%JAVA_HOME%\bin

9bde3b10662b40e7ab13bb908bbda33e.png

之后我们需要验证JDK是否已经配置好了,使用win+r,输入cmd,回车!!!

输入命令,javac -version查询一下

 

634a3d2c48a948b2805bbad449d47057.png

因为我这里安装的最新的版本,所以你看到javac 17.0.13就成功了,到此JDK就ok了。

 

3、下载Android Studio

下载链接:https://pan.baidu.com/s/10vNR2yZnHgYBjSws-Rqmmg?pwd=wjl6 提取码: wjl6

这里Android Studio我是从官网下载的最新的,直接下载我这里的就好。接下来一路Next就好。

启动之后几个注意点,看下面!!!

 

这里第一次安装,记得选第二个!!!

4e8a273f595f4ce18da380db2dea90f4.png

如果你的页面出现这里的内容,选择第一个就好。这里是否需要接收谷歌的邮件信箱,建议点击不要发送信息,不然会收到很多垃圾邮件。

723e81a21b6b45eb8fb6fc7559d7087a.png

这里点击Cancel就可以了,这是因为我们还没有配置安装SDK路径所出现的警告

8717d6367dd24603966e64f497f70cfc.png

这里我们点击自定义安装

16fc3152aa314694a48929805cc12419.png

 之后默认路径安装就好,这里把所有选项全部勾选上,路径你想默认就默认,想自定义就自定义。

70e5375c95604d60b3474e59e19a3d7f.png

然后继续默认Next,到以下页面,第一项和第二项都要勾选同意,否则不允许下一步,然后点击Next 就好了。

 78ac6a5f57a742e4897aba21cf93ccb8.png

 

 到这一步等着就好了,但是可能在最后会有东西下载失败,不用担心,我也是在这里一直失败,后来我手动下载了安装包,找到相应的位置进行的手动安装,链接我放下面。点击Finish:1e1343a17fed484886476f753a99fd63.png

 通过网盘分享的文件:haxm-windows_v7_8_0.zip
链接: https://pan.baidu.com/s/1DsC0oW5SWASSTPKZNj2G9A?pwd=wjl6 提取码: wjl6

我已经替大家下载好了,拿去用就可以,安装到以下位置:

dd497854a74a43af9b7e51b4fac9a5bf.png

因为我是默认安装的,你只需要找到你安装的SDK位置,在其下目录的intel目录下创建文件夹Hardware_Accelerated_Execution_Manager,将你在我网盘下载的安装包解压到这个新建的文件夹就好了。然后双击haxm-7.8.0-setup.exe进行安装就好了。

打开编译器,看到More Actions,选择SDK Manager

fbd4118965d84959983a7b7a3ffd7540.png

 

 接下来看你就按照我的安装内容来就行了,如下:

首先进行SDK Platforms中的东西,记得选中右下角的show package details将所有的选项显示。

这里一张图放不下,耐心看我的图,确保都安装了。提示:先不要点击finish,等将sdk tools选项选择完毕之后一块finish。

b6d967e3cef04b23a25cf8d0e49943fc.png

 1c4a579e7b384a3b964105f3bd9000a0.png

 

50651c4a33804613a37799f8ce4d2b0b.png

好,到现在sdk platforms里的东西就结束了。

下面安装sdk tooks中的东西,同样点击show package details将所有的选项显示。

f0a9e05ae4aa4e13884722aae10297a3.png

 

9142d71312aa4f3c89d421964cf94137.png

 

6db9b55c65bd44889f6df787cc1295a4.png

 

b584fe3c605a42348e3b2b1bc6ad4551.png

好,到这一步,点击finish!!!

之后就是配置sdk的环境了,如下:

变量名我们就叫ANDROID_HOME就好,变量值就是你刚才的SDK路径。

a5954346c6614ab48d0d567af5aaac26.png

 之后继续配置Path,添加%ANDROID_HOME%\platform-tools

 a18d066063a44e568cdf7da4c590f5c3.png

 到现在为止,安卓编译器的环境也就配置好了

如果你之前全局安装过旧的react-native-cli命令行工具,请使用npm uninstall -g react-native-cli卸载掉它以避免一些冲突,命令:npm uninstall -g react-native-cli @react-native-community/cli

创建RN项目,命令:npx @react-native-community/cli init ‘你的项目名’

创建完成之后,gradle-wrapper.properties文件中有个下载地址需要替换成阿里云的,否则项目启动不起来,替换成这段代码:distributionUrl=https://mirrors.aliyun.com/macports/distfiles/gradle/gradle-8.10.2-all.zip

如下:

fbe4ee61b8394bea8b9f4670bca8bfc2.png

替换完成之后,关闭项目重启,可以在App.tsx中随便修改一点代码,通过启动命令yarn android运行项目即可(Yarn是 Facebook 提供的替代 npm 的工具,可以加速 node 模块的下载。)

安装yarn命令:npm install -g yarn

提示一下,第一次启动项目慢得很,我竟然启动了30分钟才成功,笑死了。。。成功如下:

d6877998ef3b422299520ac7351f1409.png

这样环境基本就没啥问题了,有问题下面评论,我看到会回复的!!! 

 

总结

通过这几天的面试,发现好多公司都是使用rn的,现在大多网上都是expo框架,大家都找不到原生的rn环境配置过程,我这边配置好了,如果你那里有问题的话,请下面评论你的问题,我会尽自己最大努力帮你解决!!!

 

相关文章:

React native 原生环境搭建(最新版本RN环境搭建,不是expo)

前言 React Native 是 Facebook 推出的一款用于开发移动应用的框架,开发者可以用 JavaScript 和 React 等技术,一次编写代码,然后同时部署到 iOS 和 Android 平台上,大大节省了开发时间和人力成本,避免了为每个平台单…...

Unity Excel转Json编辑器工具

功能说明:根据 .xlsx 文件生成对应的 JSON 文件,并自动创建脚本 注意事项 Excel 读取依赖 本功能依赖 EPPlus 库,只能读取 .xlsx 文件。请确保将该脚本放置在 Assets 目录下的 Editor 文件夹中。同时,在 Editor 下再创建一个 Exc…...

XML结构快捷转JSON结构API集成指南

XML结构快捷转JSON结构API集成指南 引言 在当今的软件开发世界中,数据交换格式的选择对于系统的互操作性和效率至关重要。JSON(JavaScript Object Notation)和XML(eXtensible Markup Language)是两种广泛使用的数据表…...

数据挖掘——支持向量机分类器

数据挖掘——支持向量机分类器 支持向量机最小间隔面推导基于软间隔的C-SVM非线性SVM与核变换常用核函数 支持向量机 根据统计学习理论,学习机器的实际风险由经验风险值和置信范围值两部分组成。而基于经验风险最小化准则的学习方法只强调了训练样本的经验风险最小…...

ImageNet 2.0?自动驾驶数据集迎来自动标注新时代

引言: 3DGS因其渲染速度快和高质量的新视角合成而备受关注。一些研究人员尝试将3DGS应用于驾驶场景的重建。然而,这些方法通常依赖于多种数据类型,如深度图、3D框和移动物体的轨迹。此外,合成图像缺乏标注也限制了其在下游任务中的…...

智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之11 方案再探之2 项目文件(修改稿1)

(以下内容是第二次重建项目(“方案再探”)时的项目附件。) 为AI聊天工具添加一个知识系统 Part1 人性化&去中心化 前情提要 这一次我们暂时抛开前面对“智能工厂的软件设计”的考虑--其软件智能 产品就是 应用程序。直接将这些思维方式和方法论 运…...

详解MySQL SQL删除(超详,7K,含实例与分析)

文章目录 前言1. 删除表中的所有记录基本语法使用场景注意事项运用实例分析说明2. 删除特定记录基本语法使用场景注意事项运用实例分析说明3. 删除单条记录基本语法使用场景注意事项运用实例分析说明4. 删除违反引用完整性的记录基本语法使用场景注意事项运用实例分析说明5. 删…...

uniapp:跳转第三方地图

1.跳转第三方高德地图 //跳转地图 toMap(item){uni.navigateTo({url: (window.location.href https://uri.amap.com/navigation?to${item.lng},${item.lat},${item.shopName}&modecar&policy1&srchttps://gawl.gazhcs.com/wap/index.html&callnative0)}) },…...

深入浅出梯度下降算法:快速抵达函数最小值的方法

引言 梯度是机器学习和优化领域中不可或缺的概念,它为我们提供了理解和调整多维空间中函数行为的工具。本文将详细介绍梯度的定义、性质,并通过具体的一元和多元函数案例展示如何使用梯度下降算法找到最佳参数。 一、梯度的基础知识 1.1 定义与计算 梯…...

RWKV 语言模型

RWKV Language Model是一种独特的循环神经网络(RNN)架构的语言模型,具有诸多优势和特点,在自然语言处理领域展现出了良好的性能和应用潜力,以下是具体介绍: 核心原理 融合RNN与Transformer优点:…...

pycharm如何拉取一个git项目,然后,修改后再上传到自建的项目中?

以chattts为例 https://github.com/2noise/ChatTTS.git 1.建一个虚拟环境,用于项目使用 2.pycharm新建工程 3.忽略 提示 勾选,新建远程仓库 设置账号和密码 设置git路径,一般是正确的,点测试即可 &…...

Java 性能调优实战

性能调优是每个程序员在开发过程中都无法避免的课题,尤其在面对大规模、高并发的系统时,性能优化更是必不可少。本文将根据《Java 性能调优实战》课程的七个模块,深入探讨其中的核心内容,结合实际代码示例,帮助大家更好…...

ctfshow 每日练习 web 区 php特性 1-10

前置知识 这个php特性可以很好的练习我们的白盒简单代码的审计能力 web89 preg_match 正则匹配函数 (绕过 : 换行符绕过 (也可以利用他的数组返回数字进行绕过一下禁止字符的情况)) include("flag.php&q…...

《C++设计模式》单例模式

文章目录 1、简介2、单例模式的种类2.1 饿汉式单例模式:2.2 懒汉式单例模式: 3、单例模式的具体介绍3.1、饿汉式3.1.1、代码示例3.1.2、组成部分3.1.3、优缺点3.1.4、应用场景 3.2、懒汉式3.2.1、代码示例3.2.2、组成部分3.2.3、优缺点3.2.4、应用场景 4…...

mapbox进阶,添加路径规划控件

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️MapboxDirections 控件二、🍀添加路径规划控件1. ☘️实现思路2. ☘️…...

【论文阅读笔记】SCI算法与代码 | 低照度图像增强 | 2022.4.21

目录 一 SCI 1 SCI网络结构 核心代码(model.py) 2 SCI损失函数 核心代码(loss.py) 3 实验 二 SCI效果 1 下载代码 2 运行 一 SCI 💜论文题目:Toward Fast, Flexible, and Robust Low-Light Image …...

RAG实战:本地部署ragflow+ollama(linux)

1.部署ragflow 1.1安装配置docker 因为ragflow需要诸如elasticsearch、mysql、redis等一系列三方依赖,所以用docker是最简便的方法。 docker安装可参考Linux安装Docker完整教程,安装后修改docker配置如下: vim /etc/docker/daemon.json {…...

前路漫漫,曙光在望 !

起始 从20年大一开始写作至今,转眼五年时光已经过去了,最开始在CSDN这个平台写博客也只是因为一次机缘巧合情况下得知写博客可以获取奖赏,所以那个时期开始疯狂在CSDN发文记录自己编程学习过程,但是至今也未从写作中获利一分哈…...

特征工程-特征预处理

1.7 特征工程-特征预处理 学习目标 目标 了解什么是特征预处理知道归一化和标准化的原理及区别 1 什么是特征预处理 1.1 特征预处理定义 scikit-learn的解释 provides several common utility functions and transformer classes to change raw feature vectors into a represe…...

代码随想录算法训练营day22

代码随想录算法训练营 —day22 文章目录 代码随想录算法训练营前言回溯算法理论基础回溯法解决的问题回溯法模板 一、77. 组合二、216. 组合总和 III三、17. 电话号码的字母组合总结 前言 今天是算法营的第22天,希望自己能够坚持下来! 今日任务&#x…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

今日科技热点速览

🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...

Bean 作用域有哪些?如何答出技术深度?

导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答&#xff0c…...

Linux部署私有文件管理系统MinIO

最近需要用到一个文件管理服务,但是又不想花钱,所以就想着自己搭建一个,刚好我们用的一个开源框架已经集成了MinIO,所以就选了这个 我这边对文件服务性能要求不是太高,单机版就可以 安装非常简单,几个命令就…...

SQL Server 触发器调用存储过程实现发送 HTTP 请求

文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...