在不同设备上为React本地应用程序运行模拟器



由于Xcode和Android studio消耗很大,我在开发React Native应用程序时,在Mac上遇到了存储和处理能力问题。

我的问题是,当我在Mac上编码时,有没有任何方法可以在另一台电脑上运行模拟器(在我的情况下是android模拟器(?

谢谢

我尝试过下面的解决方案,它可能也适用于您。来源就在这个回购中。

如果你想在一台机器上编写和编译Android应用程序,并在另一台机器启动的模拟器上远程调试,请遵循以下说明:

准备

首先,您需要在远程计算机上安装SSH服务器。

Ubuntu

您可以使用OpenSSH。

sudo apt安装openssh服务器

Windows

您可以按照此链接在Windows上安装OpenSSH。

连接

现在您必须使用SSH隧道将本地计算机连接到远程服务器。

模拟器在每个实例上侦听两个TCP端口:5554用于telnet接口,5555用于与DDMS等工具的控制通信。所以你可能只需要5555转发端口就可以逃脱惩罚。每个后续模拟器都会获取下一个可用的偶数+奇数端口号元组。

请注意,您需要输入在远程服务器上运行的模拟器的ip地址,而不是模拟器的ip,还需要输入远程机器的用户名和主机名,而不是myuser和远程服务器。

Ubuntu

在本地机器上尝试:

ssh-NL 5554:仿真器ip:5554-L 5555:仿真器ip:5555myuser@remote-server

Windows

按照此链接说明,在下面添加两个源端口和目的地:

源端口:5554目的地:模拟器ip:5554

源端口:5555目的地:模拟器ip:5555然后连接到远程服务器。

ADB-

模拟器试图在启动时通知本地adb服务器;因此,您需要重新启动adb,以便它探测本地5554+端口。

adb kill服务器;adb设备

adb设备显示了一个新的模拟器emulator-5554,您可以像在本地机器上运行一样使用它。

运行

最后运行:

react原生运行android

该应用程序应该安装在模拟器上,但你可能会面临一个错误:

错误:多个设备/模拟器无法运行adb reverse:命令失败:path/to/sdk/adb-s emulator-5554 reverse tcp:8081 tcp:8081您需要在应用程序的"开发人员"菜单中指定调试主机IP和端口->开发人员设置->调试服务器主机&端口,这是您的本地机器ip地址,8081代表端口。

请注意,安装APK后,您不需要执行任何这些步骤。您可以在本地计算机的项目目录中启动npm服务器:npm-start,在远程计算机的模拟器上运行应用程序,然后重新加载。如果有另一个错误:

线程中的异常";设备列表监视器";java.lang.NullPointerException

尝试:

react本机运行android--deviceId

相关内容

  • 没有找到相关文章

最新更新