通过命令行手动在Android设备上重新加载React Native应用程序

bre*_*rge 64 react-native react-native-android

我想按需手动强制重新加载我的React Native应用程序而不会物理震动设备.(我正在接受腕管.)

我知道Live Reload/Hot Reload可用.我正在寻找一个按需命令行解决方案.

bre*_*rge 152

使用cmd行,您可以向Android设备发送命令.

adb shell input text "RR"
Run Code Online (Sandbox Code Playgroud)

此命令告诉Android设备两次输入字符"R",这是在Android上重新加载的React Native命令.

adb shell命令有许多有用的功能,其中许多都在这里描述:

ADB Shell输入事件

要打开开发人员菜单:

adb shell input keyevent 82
Run Code Online (Sandbox Code Playgroud)

  • 对于第一个命令有问题的人(在像文本输入这样无法聚焦的情况下),替代方法是“adb shell”input keyevent 82 && input keyevent 66 && input keyevent 66”。它手动点击开发者菜单中的“重新加载” (3认同)

小智 19

只是在这里发布,以防你不知道这个伎俩

长按 Android设备中的菜单按钮.然后你会得到这个菜单

点击重新加载选项,你很高兴

  • 我的Android手机没有菜单按钮.我的设备还有其他选择吗? (4认同)
  • 只需摇动设备即可。好就好。它将显示您的重新加载选项。如果没有,请再次用力摇动。 (3认同)

Xav*_*ier 13

我使用以下命令.它不会重新加载应用程序,但会在设备上显示开发人员菜单,因此我可以按"重新加载"选项:

adb shell input keyevent KEYCODE_MENU

我使用真实设备(而不是模拟器)进行开发,并通过adb发送"double-R"不起作用(它只显示键盘并输入2个R).

  • 这很有趣,因为我在一个真实设备上开发而且"double-R"会重新加载应用程序.如果键盘已经打开,它将打印"RR",但如果键盘关闭,它将重新加载.也许我的答案过于笼统,并不适用于所有设备? (2认同)

Fra*_*eau 9

将以下脚本添加到package.json中:

    "android-shake": "adb shell input keyevent 82"
Run Code Online (Sandbox Code Playgroud)

这样您就可以打电话了

yarn android-shake
Run Code Online (Sandbox Code Playgroud)

如果您正在寻找ios,请在此链接上查看我的答案


Fil*_*ipe 5

在您使用 unix 的情况下,一个技巧是在 ~/.bashrc 配置文件中添加此命令。

  1. 使用您最喜欢的编辑器(例如:Ubuntu 上的 nano)并输入 nano ~/.bashrc
  2. 在文件写入结束时 alias rnreload='adb shell input text "RR"'
  3. 保存并运行source ~/.bashrc以激活它。
  4. 现在,只要您需要,只需rnreload在终端上输入即可。

下次您进入计算机时,它应该已经完成​​了。

此外,还有可能添加其他别名:alias rnshake='adb shell input keyevent 82'which "shakes" android. 您可以使用它来访问其他命令,如热重载、调试器、检查器等。