当前位置: 首页 > 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…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

【AI学习】三、AI算法中的向量

在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...

AspectJ 在 Android 中的完整使用指南

一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...

什么是VR全景技术

VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...

vue3 daterange正则踩坑

<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...

高考志愿填报管理系统---开发介绍

高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发&#xff0c;采用现代化的Web技术&#xff0c;为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## &#x1f4cb; 系统概述 ### &#x1f3af; 系统定…...

02.运算符

目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&&#xff1a;逻辑与 ||&#xff1a;逻辑或 &#xff01;&#xff1a;逻辑非 短路求值 位运算符 按位与&&#xff1a; 按位或 | 按位取反~ …...