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

Reload a React Native app on an Android device manually via command line

我想按需手动强制重新加载我的 React Native 应用程序,而无需物理摇动设备。 (我正在做腕管。)

我知道可以使用 Live Reload / Hot Reload。我正在寻找按需命令行解决方案。

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

adb shell input text "RR"

此命令告诉 Android 设备键入字符 "R" 两次,这是在 Android.

上重新加载的 React Native 命令

adb shell 命令有许多有用的功能,其中许多功能在此处进行了描述:

ADB Shell Input Events

打开开发者菜单:

adb shell input keyevent 82

我使用以下命令。它不会重新加载应用程序,但会在设备上调出开发者菜单,这样我就可以按 "Reload" 选项:

adb shell input keyevent KEYCODE_MENU

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

只是张贴在这里以防你不知道这个技巧

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

点击重新加载选项,你就可以开始了

制作了一个自动热键脚本以使用键盘快捷键重新加载和打开菜单。

   ^+r::  run, %comspec% /c adb shell input text "RR",,hide  
   ^+e::  run, %comspec% /c adb shell input keyevent 82,,hide

ctrl+shift+r 重新加载 ctrl+shift+e 打开开发菜单

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

    "android-shake": "adb shell input keyevent 82"

然后你就可以调用

yarn android-shake

如果您正在寻找 ios,请查看我对此

的回答

对于设备,您只需摇动设备就会出现菜单,因此请点击重新加载

如果您使用的是 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。您可以使用它来访问其他命令,如热重载、调试器、检查器等。

如果您使用 Mac 并使用 Hammerspoon,您可以将以下代码放入 ~/.hammerspoon/init.lua 文件:

hyper = {'ctrl', 'alt', 'cmd'}
placid = {'ctrl', 'cmd'}

-- React native reload JS on connected device
hs.hotkey.bind(placid, 'R', function()
  os.execute('/Users/peter/Library/Android/sdk/platform-tools/adb shell input text "RR"')
end)

-- React native show dev menu on connected device
hs.hotkey.bind(hyper, 'R', function()
  os.execute('/Users/peter/Library/Android/sdk/platform-tools/adb shell input keyevent 82')
end)

os.execute 命令不会加载您的 ENV(这样做会使 运行ning 命令非常慢),因此请确保 运行 which adb 在您的终端找出 adb 的确切路径是什么。 (在我的例子中是 /Users/peter/Library/Android/sdk/platform-tools/adb)。

现在您可以使用 ctrl+cmd+R 重新加载您的应用程序,并使用 ctrl+option+cmd+R 从任何地方显示开发菜单,甚至无需使用您最喜欢的编辑器 cmd-tab!