通过命令行在 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 配置文件中添加此命令。
- 使用您最喜欢的编辑器(例如:Ubuntu 上的 nano)并输入
nano ~/.bashrc
- 在文件末尾写入
alias rnreload='adb shell input text "RR"'
- 保存并 运行
source ~/.bashrc
以激活它。
- 现在,只要您需要,只需在终端上输入
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!
我想按需手动强制重新加载我的 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 配置文件中添加此命令。
- 使用您最喜欢的编辑器(例如:Ubuntu 上的 nano)并输入
nano ~/.bashrc
- 在文件末尾写入
alias rnreload='adb shell input text "RR"'
- 保存并 运行
source ~/.bashrc
以激活它。 - 现在,只要您需要,只需在终端上输入
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!