如何以VirtualBox内Ubuntu为开发环境搭配Win10 Android模拟器进行React Native开发
问题解答
1. 模拟器安装是否必须使用Android Studio?
不需要,你有两种无Android Studio的可选方案:
- 仅安装Android官方命令行工具:无需下载完整Android Studio安装包,单独下载Windows平台的SDK命令行工具,通过
sdkmanager命令即可下载平台工具、系统镜像、模拟器核心组件,完成模拟器的创建和启动,占用存储空间远小于完整Android Studio。 - 直接使用第三方Android模拟器:夜神模拟器、雷电模拟器、MuMu模拟器等第三方产品都可以独立安装使用,不需要依赖任何Android Studio组件。
2. 跨环境配置步骤
2.1 宿主机(Windows 10)配置
首先给正在运行的模拟器开启ADB调试权限:
- 官方Android模拟器:进入设置-关于手机,连续点击版本号开启开发者选项,再进入开发者选项打开USB调试开关即可。
- 第三方模拟器:一般在模拟器的系统设置页有直接的ADB调试开关,手动打开即可。
打开Windows命令提示符执行adb devices,确认能看到已启动的模拟器设备,记录对应模拟器的ADB监听端口:官方模拟器默认端口为5555,第三方模拟器端口各有区别,比如夜神默认62001、雷电默认5555,可对应查询确认。
最后放开Windows防火墙对应ADB端口的入站连接权限,避免虚拟机连接被拦截。
2.2 VirtualBox网络配置
需保证虚拟机和宿主机网络互通,推荐两种配置方案二选一:
- 桥接模式:将虚拟机网络模式设置为桥接模式,直接接入宿主机所在局域网,虚拟机会获得和宿主机同网段的独立IP,互通性最好。
- NAT模式+端口转发:如果不方便用桥接模式,可在VirtualBox虚拟机设置-网络-高级-端口转发中添加规则,协议选TCP,宿主端口和子系统端口都填5555即可。
配置完成后启动Ubuntu虚拟机,执行ping 宿主机局域网IP确认网络连通。建议将宿主机的局域网IP设置为静态,避免每次重启IP变化需要重新配置连接。
2.3 Ubuntu 虚拟机配置
先完成基础RN开发环境搭建,安装好nodejs、npm、JDK、Android SDK(仅需安装平台工具、构建工具等核心组件,不需要安装模拟器相关包),配置好ANDROID_HOME环境变量。
执行命令连接宿主机的模拟器:
adb connect 宿主机Windows的局域网IP:5555 # 第三方模拟器替换为对应端口即可,比如夜神为adb connect 宿主机IP:62001
执行adb devices确认能看到已连接的模拟器设备。
再执行端口转发命令,保证模拟器能访问到虚拟机内的Metro打包服务:
adb reverse tcp:8081 tcp:8081
如果项目用到其他自定义端口,用同样的adb reverse规则转发即可。
如果后续重启了模拟器或者虚拟机,重新执行上述adb connect和adb reverse命令即可恢复连接。
2.4 运行测试
所有配置完成后,直接在Ubuntu虚拟机内执行常规RN命令即可:
- 启动Metro服务:
npx react-native start - 新开终端执行构建安装命令:
npx react-native run-android
构建、打包的全流程都在虚拟机内运行,应用会自动安装到宿主机的Android模拟器中启动。
内容的提问来源于stack exchange,提问作者photon
相关产品推荐
相关产品推荐

