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
其次,就是需要继续配置Path,新增%JAVA_HOME%\bin
之后我们需要验证JDK是否已经配置好了,使用win+r,输入cmd,回车!!!
输入命令,javac -version查询一下
因为我这里安装的最新的版本,所以你看到javac 17.0.13就成功了,到此JDK就ok了。
3、下载Android Studio
下载链接:https://pan.baidu.com/s/10vNR2yZnHgYBjSws-Rqmmg?pwd=wjl6 提取码: wjl6
这里Android Studio我是从官网下载的最新的,直接下载我这里的就好。接下来一路Next就好。
启动之后几个注意点,看下面!!!
这里第一次安装,记得选第二个!!!
如果你的页面出现这里的内容,选择第一个就好。这里是否需要接收谷歌的邮件信箱,建议点击不要发送信息,不然会收到很多垃圾邮件。
这里点击Cancel就可以了,这是因为我们还没有配置安装SDK路径所出现的警告
这里我们点击自定义安装
之后默认路径安装就好,这里把所有选项全部勾选上,路径你想默认就默认,想自定义就自定义。
然后继续默认Next,到以下页面,第一项和第二项都要勾选同意,否则不允许下一步,然后点击Next 就好了。
到这一步等着就好了,但是可能在最后会有东西下载失败,不用担心,我也是在这里一直失败,后来我手动下载了安装包,找到相应的位置进行的手动安装,链接我放下面。点击Finish:
通过网盘分享的文件:haxm-windows_v7_8_0.zip
链接: https://pan.baidu.com/s/1DsC0oW5SWASSTPKZNj2G9A?pwd=wjl6 提取码: wjl6
我已经替大家下载好了,拿去用就可以,安装到以下位置:
因为我是默认安装的,你只需要找到你安装的SDK位置,在其下目录的intel目录下创建文件夹Hardware_Accelerated_Execution_Manager,将你在我网盘下载的安装包解压到这个新建的文件夹就好了。然后双击haxm-7.8.0-setup.exe进行安装就好了。
打开编译器,看到More Actions,选择SDK Manager
接下来看你就按照我的安装内容来就行了,如下:
首先进行SDK Platforms中的东西,记得选中右下角的show package details将所有的选项显示。
这里一张图放不下,耐心看我的图,确保都安装了。提示:先不要点击finish,等将sdk tools选项选择完毕之后一块finish。
好,到现在sdk platforms里的东西就结束了。
下面安装sdk tooks中的东西,同样点击show package details将所有的选项显示。
好,到这一步,点击finish!!!
之后就是配置sdk的环境了,如下:
变量名我们就叫ANDROID_HOME就好,变量值就是你刚才的SDK路径。
之后继续配置Path,添加%ANDROID_HOME%\platform-tools
到现在为止,安卓编译器的环境也就配置好了
如果你之前全局安装过旧的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
如下:
替换完成之后,关闭项目重启,可以在App.tsx中随便修改一点代码,通过启动命令yarn android运行项目即可(Yarn是 Facebook 提供的替代 npm 的工具,可以加速 node 模块的下载。)
安装yarn命令:npm install -g yarn
提示一下,第一次启动项目慢得很,我竟然启动了30分钟才成功,笑死了。。。成功如下:
这样环境基本就没啥问题了,有问题下面评论,我看到会回复的!!!
总结
通过这几天的面试,发现好多公司都是使用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…...

2024秋语法分析作业-B(满分25分)
特别注意:第17条产生式改为 17) Stmt → while ( Cond ) Stmt 【问题描述】 本次作业只测试一个含简单变量声明、赋值语句、输出语句、if语句和while语句的文法: 0) CompUnit → Block 1) Block → { BlockItemList } 2) BlockItemList → BlockItem…...

Python爬虫入门(1)
在互联网时代,数据成为了最宝贵的资源之一。Python作为一种功能强大的编程语言,因其简洁的语法和丰富的库支持,成为了编写网络爬虫的首选。本文将带你入门Python爬虫技术,让你能够从互联网上自动获取数据。 什么是爬虫࿱…...

鸿蒙1.2:第一个应用
1、create Project,选择Empty Activity 2、配置项目 project name 为项目名称,建议使用驼峰型命名 Bundle name 为项目包名 Save location 为保存位置 Module name 为模块名称,即运行时需要选择的模块名称,见下图 查看模块名称&…...

2024年常用工具
作为本年度高频使用工具,手机端也好,桌面端也好,筛选出来9款产品,这里也分享给关注我的小伙伴 ,希望对你有些帮助,如果你更好的产品推荐,欢迎留言给我。 即刻 产品经理的聚集地,“让…...

【蓝桥杯】走迷宫
题目: 解题思路: 简单的广度优先算法(BFS) BFS 的特性 按层次遍历:BFS 按照节点的距离(边的数量)来逐层访问节点。保证最短路径:对于无权图(所有边权重相同࿰…...

【pyqt】(三)designer
designer ui设计 在学习后续的代码之前,我们可以先学习一下designer这款工具,在安装软件的时候我们有提到过,其具体位置在虚拟环境根目录下的\Lib\site-packages\PySide6文件夹中。对于新手而言,使用这种可视化的工具可以帮助我们…...

【Go学习】-01-3-函数 结构体 接口 IO
【Go学习】-01-3-函数 结构体 接口 IO 1 函数1.1 函数概述1.1.1 函数做为参数1.1.2 函数返回值 1.2 参数1.3 匿名函数1.4 闭包1.5 延迟调用1.6 异常处理 2 结构体2.1 实例化2.2 匿名结构体2.3 匿名字段 3 类方法3.1 接收器3.2 类方法练习:二维矢量模拟玩家移动3.3 给…...

昆仑万维大数据面试题及参考答案
请介绍一下 Flume 组件。 Flume 是一个分布式、可靠、高可用的海量日志采集、聚合和传输的系统。 从架构层面来看,它主要包含以下几个关键部分。首先是 Source,它是数据的收集端,能够接收多种不同来源的数据。比如,它可以从各种服务器的日志文件中读取数据,像 Web 服务器产…...

20250103在Ubuntu20.04.5的Android Studio 2024.2.1.12中跑通Hello World
20250103在Ubuntu20.04.5的Android Studio 2024.2.1.12中跑通Hello World 2025/1/3 14:06 百度:android studio helloworld android studio hello world kotlin helloword kotlin 串口 no run configurations added android studio no run configurations added 1、…...

Hack The Box-Starting Point系列Three
答案 How many TCP ports are open?(靶机开了几个TCP端口) 2What is the domain of the email address provided in the “Contact” section of the website?(网站的“CONTACT”部分提供的电子邮件地址的域是什么?)…...