当我运行" react-native run-android"构建部署到模拟器,程序执行正常。但是在我在本地更改文件之后,我需要运行" react-native run-android"。
任何方式都可以使用守望者来完成,就像反应原生的ios一样。
由于
答案 0 :(得分:25)
您必须启用实时重新加载。
对于Android,从您的项目运行react-native run-android以在您的模拟器或设备上安装生成的应用程序,并启动启用实时代码重新加载的节点服务器。要查看更改,您必须打开愤怒摇动菜单(摇动设备或按设备上的菜单按钮,按F2或Page Up for emulator,⌘+ M for Genymotion),然后按Reload JS。
答案 1 :(得分:21)
我正在使用带有Genymotion的MacOS X.由于某种原因,尚未确定,一切正常,模拟器运行,我的应用程序已部署到它与#34; react-native run-android"。但是," 愤怒菜单"当我尝试使用说明here中指示的 Command + M 键盘快捷键时,不会显示:
对于Android,从AwesomeProject运行react-native run-android 在您的模拟器或设备上安装生成的应用程序,然后启动 节点服务器,它启用实时代码重新加载。要查看您的更改 必须打开愤怒摇动菜单(摇动设备或按下 设备上的菜单按钮,按F2或Page Up表示模拟器,⌘+ M表示 Genymotion),然后按Reload JS。
所以最终,我编写了一个小的shell脚本(你可以直接在bash shell命令行中运行相同的命令),名为 rageMenuAndroid.sh ,如下所示:
#!/usr/bin/env bash
adb shell input keyevent 82
这实际上启动了愤怒菜单。从那里可以很容易地使用React Native(我的目标)启用实时重新加载,只需选择&#34; 自动重新加载&#34;,然后选择&#34; 重新加载JS < /强>&#34;每当你想要刷新时按钮。
如果有人知道如何获得“愤怒”菜单&#39;要直接在模拟器上出现,请他们在下面发表评论。设置IOS是一件轻而易举的事,占用2分钟,另一方面Android需要一些努力(可能需要几个小时,我已经安装了JDK)。
从阅读this blog
获得灵感答案 2 :(得分:7)
打开愤怒摇晃菜单。 (F2 / Page Up) - &gt;开发设置 - &gt;自动重新加载JS更改
答案 3 :(得分:4)
对于Android设备,我添加了一个脚本,执行以下操作以激活rage菜单。基本上是按&#34; MENU&#34;那么&#34; R&#34;然后&#34;输入&#34; (更多信息ADB Shell Input Events)
#!/bin/bash
adb shell input keyevent 82 46 66 66
这是一个指向shell脚本的链接,对我来说效果非常好 - https://github.com/r3bl-alliance/react-native-weather/blob/master/android_rage_menu.sh。我使用Webstorm,所以我只是将它添加为&#34;运行目标&#34;这使得使用起来非常方便!
答案 4 :(得分:0)
在物理android设备(例如Xiaomi Redmi 4)上,按下菜单按钮一秒钟,然后选择“启用热重载”选项。然后,您可能需要使用
重新启动开发服务器。 react-native run-android