react-native android虚拟机启动 [windows下]
创始人
2025-05-29 14:20:09

1. 配置环境

必须安装的依赖有:Node、JDK 和 Android Studio。

虽然你可以使用任何编辑器来开发应用(编写 js 代码),但你仍然必须安装 Android Studio 来获得编译 Android 应用所需的工具和环境。

Node, JDK​

我们建议直接使用搜索引擎搜索下载 Node 和Java SE Development Kit (JDK)

注意 Node 的版本应大于等于 14,安装完 Node 后建议设置 npm 镜像(淘宝源)以加速后面的过程(或使用科学上网工具)。

注意:不要使用 cnpm!cnpm 安装的模块路径比较奇怪,packager 不能正常识别!

React Native 需要 Java Development Kit [JDK] 11。你可以在命令行中输入 javac -version(请注意是 javac,不是 java)来查看你当前安装的 JDK 版本。如果版本不合要求,则可以去Temurin或Oracle JDK上下载(后者下载需注册登录)。

低于 0.67 版本的 React Native 需要 JDK 1.8 版本(官方也称 8 版本)。

# 使用nrm工具切换淘宝源
npx nrm use taobao# 如果之后需要切换回官方源可使用
npx nrm use npm

Yarn​

Yarn是 Facebook 提供的替代 npm 的工具,可以加速 node 模块的下载。

npm install -g yarn

安装完 yarn 之后就可以用 yarn 代替 npm 了,例如用yarn代替npm install命令,用yarn add 某第三方库名代替npm install 某第三方库名

Android 开发环境​

如果你之前没有接触过 Android 的开发环境,那么请做好心理准备,这一过程相当繁琐。请万分仔细地阅读下面的说明,严格对照文档进行配置操作。

译注:请注意!!!国内用户必须必须必须有稳定的代理软件,否则在下载、安装、配置过程中会不断遭遇链接超时或断开,无法进行开发工作。某些代理软件可能只提供浏览器的代理功能,或只针对特定网站代理等等,请自行研究配置或更换其他软件。总之如果报错中出现有网址,那么 99% 就是无法正常连接网络。

1. 安装 Android Studio​

首先下载和安装 Android Studio,国内用户可能无法打开官方链接,请自行使用搜索引擎搜索可用的下载链接。安装界面中选择"Custom"选项,确保选中了以下几项:

  • Android SDK
  • Android SDK Platform
  • Android Virtual Device

然后点击"Next"来安装选中的组件。

如果选择框是灰的,你也可以先跳过,稍后再来安装这些组件。

安装完成后,看到欢迎界面时,就可以进行下面的操作了。

2. 安装 Android SDK​

Android Studio 默认会安装最新版本的 Android SDK。目前编译 React Native 应用需要的是Android 13 (Tiramisu)版本的 SDK(注意 SDK 版本不等于终端系统版本,RN 目前支持 android 5 以上设备)。你可以在 Android Studio 的 SDK Manager 中选择安装各版本的 SDK。

你可以在 Android Studio 的欢迎界面中找到 SDK Manager。点击"Configure",然后就能看到"SDK Manager"。

SDK Manager 还可以在 Android Studio 的"Preferences"菜单中找到。具体路径是Appearance & Behavior → System Settings → Android SDK

在 SDK Manager 中选择"SDK Platforms"选项卡,然后在右下角勾选"Show Package Details"。展开Android 13 (Tiramisu)选项,确保勾选了下面这些组件(重申你必须使用稳定的代理软件,否则可能都看不到这个界面):

  • Android SDK Platform 33
  • Intel x86 Atom_64 System Image(官方模拟器镜像文件,使用非官方模拟器不需要安装此组件)

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

最后点击"Apply"来下载和安装这些组件。

3. 配置 ANDROID_HOME 环境变量​

React Native 需要通过环境变量来了解你的 Android SDK 装在什么路径,从而正常进行编译。

打开控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量 -> 新建,创建一个名为ANDROID_HOME的环境变量(系统或用户变量均可),指向你的 Android SDK 所在的目录(具体的路径可能和下图不一致,请自行确认):

SDK 默认是安装在下面的目录:

C:\Users\你的用户名\AppData\Local\Android\Sdk

你可以在 Android Studio 的"Preferences"菜单中查看 SDK 的真实路径,具体是Appearance & Behavior → System Settings → Android SDK

你需要关闭现有的命令符提示窗口然后重新打开,这样新的环境变量才能生效。

4. 把一些工具目录添加到环境变量 Path​

打开控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量,选中Path变量,然后点击编辑。点击新建然后把这些工具目录路径添加进去:platform-tools、emulator、tools、tools/bin

%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\emulator
%ANDROID_HOME%\tools
%ANDROID_HOME%\tools\bin

安装完成后的具体设置不再赘述

2. 安装react-native脚手架并创建项目

出现TypeError: cli.init is not a function for react native错误

npm uninstall -g react-native-cli
npm install -g react-native-cli
npm install -g react-native

重新创建工程

npx react-native init 工程名称

成功创建后的效果及项目文件如下

 

3.启动android虚拟机

 

 

 

选择跟自己Android SDK配套的设置

创建模拟器后启动

 

在命令行输入adb devices

这样即为启动成功

4.启动react-native项目

cd 项目名称
yarn android
# 或者
yarn react-native run-android

这样即为启动成功

 

 

 

相关内容

热门资讯

【iOS】—— ARC学习 ARC 文章目录ARC内存管理的思考方式自己生成的对象自己持有非自己生成的对象,自己也...
Hadoop_HDFS、Had... Hadoop_HDFS、Hadoop_MapReduce、Hadoop_Yarn 实践 (一) 前要...
Baumer工业相机堡盟相机如... 项目场景 Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场...
spark第三章:工程化代码 系列文章目录 spark第一章:环境安装 spark第二章:sparkc...
音视频技术开发周刊 | 285 每周一期,纵览音视频技术领域的干货。新闻投稿:contribute...
方向导数与梯度 1 方向导数(二元为例) Σ:z=f(x,y)&...
【字符串】 string1.char str[]类型fgets(s,10000,stdin) cin.getli...
Xmind 2022 for ... XMind 2022 for Mac是一款优秀的思维导图软件,由XMind Ltd.公...
在 Ubuntu 中安装 DO... 了解如何在 Ubuntu 中安装 DOSBox,并配置它来玩旧式 DOS 游戏。DOS...
[图神经网络]图嵌入 将节点映射成D维向量主要有以下几种方法:         ①人工特征工程:...
我的 System Veril...  引言 本文简单介绍 SystemVerilog 的其他程序结构。 前文链接: 我的 ...
Vue2项目总结-电商后台管理... Vue2项目总结-电商后台管理系统 去年做的项目,拖了很久,总算是打起...
【业务安全-02】业务逻辑漏洞... 越权越权即越权查看被人的信息,又分为水平越权和垂直越权,但是两者的本质都...
面试了8家软件公司测试岗位,面... 包含的模块:本文分为十九个模块,分别是:软件测试 基础、l...
不要让ChatGPT成为你的智... 难处 我相信有部分人苦于政策,但是又没有途径,没法享受到chatGpt带...
Redis学习笔记 ---- ... 常见的有五种:String(字符串),Has...
Java实现十类排序算法对比展... Java实现排序算法 本代码展示了Java中常见的十种排序算法,并对每种算法的时间复杂...
SC8P1762E_汇编指令一... 控制类 NOP, 空操作 STOP, 进入休眠模式 CLR...
微信小程序实现图片上传(清晰版... 在wxml文件中添加一个按钮和一个image标签用于显示上传的图片 选择图片 在js文件中添加选择...
Maven打包子模块 项目结构1. project_01: 一个多模块的maven工程2. module_01: 工程pr...
Scala安装及设置查看源代码 文章目录一、安装Scala环境1.1、下载Scala1.2、配置scala环境变量1.3、测试是否安...
使用大规模数据注释和深度学习对... 使用大规模数据注释和深度学习对具有人类水平性能的组织图像进行全细胞分割摘要绪论Mesmer2.1Me...
【数据结构】TreeMap和T... 目录 1、TreeMap 1.1 TreeMap 的简介  1.2 TreeMap 的基本使用 2、...
Django之视图的使用 Django之视图的使用视图基本使用函数视图类视图视图与模板请求对象HttpRequest常见属性和...
零基础能学大数据吗? 大数据入门不像学一门编程语言,自学一段时间就OK了。大数据是需要站在编程的基础上学习的...
OperatorChain设计 在JobGraph构建过程中,会将满足链化条件的StreamOperator连接在一起...
Phoenix整合phoeni... 首先我们添加上maven依赖,可以看到5.1.2 对应的hbase是2.4对吧 然后添加了依赖,...
【华为机试真题详解 Pytho... 文章目录 前言题目描述输入描述输出描述题目解析参考代码 前言 《华为机试真题详解》专栏含牛客网...
Scala---Array方法 Scala之Array的方法 文章目录Scala之Array的方法数组声明一个数组1.元素操作替换...
内存避障的前世今生 相关 《内存避障:一个内存乱序实例》 《内存避障的前世今生》 0 总结 单核下的指令...