React native 通过命令行在Android设备上手动重新加载React本机应用程序
我想按需手动强制重新加载我的React本机应用程序,而无需实际晃动设备。(我有腕管。)React native 通过命令行在Android设备上手动重新加载React本机应用程序,react-native,react-native-android,React Native,React Native Android,我想按需手动强制重新加载我的React本机应用程序,而无需实际晃动设备。(我有腕管。) 我知道可以进行实时重新加载/热重新加载。我正在寻找一个按需命令行解决方案。使用cmd行,您可以向Android设备发送命令 adb shell input text "RR" 此命令告诉Android设备键入两次字符“R”,这是要在Android上重新加载的React本机命令 adb shell命令具有许多有用的功能,其中许多功能如下所述: 要打开“开发人员”菜单,请执行以下操作: adb shell i
我知道可以进行实时重新加载/热重新加载。我正在寻找一个按需命令行解决方案。使用cmd行,您可以向Android设备发送命令
adb shell input text "RR"
此命令告诉Android设备键入两次字符“R”,这是要在Android上重新加载的React本机命令
adb shell
命令具有许多有用的功能,其中许多功能如下所述:
要打开“开发人员”菜单,请执行以下操作:
adb shell input keyevent 82
我使用以下命令。它不会重新加载应用程序,但会在设备上打开“开发”菜单,这样我就可以按下“重新加载”选项:
adb外壳输入键事件键代码\u菜单
我用一个真实的设备(不是模拟器)开发,通过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配置文件上添加此命令
nano~/.bashrc
alias rnreload='adb shell输入文本“RR'
source~/.bashrc
以激活它rnreload
此外,还可以添加另一个别名:
alias rnshake='adb shell input keyevent 82'
,它“震动”android。您可以使用它访问其他命令,如热重新加载、调试器、检查器等。如果您在Mac上并使用,您可以在~/.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(这样做会使运行命令的速度非常慢),因此请确保在终端中运行哪个adb
,以确定到adb
的确切路径。(在我的例子中是/Users/peter/Library/Android/sdk/platformtools/adb
)
现在,您可以使用
ctrl+cmd+R
重新加载应用程序,并使用ctrl+option+cmd+R
从任何地方显示开发菜单,而无需费心将cmd选项卡从您喜爱的编辑器中移出 这很有趣,因为我也在一台真正的设备上开发,“双R”确实会重新加载应用程序。如果键盘已经打开,它将打印“RR”,但如果键盘关闭,它将重新加载。也许我的回答太笼统了,不适用于所有设备?@brettlaforge我是native的新手,但我可能猜某些应用程序可能对按键很贪婪,而不仅仅是不同的设备。你的答案在Android上对我有用,谢谢!我的android手机没有菜单按钮。我的设备有其他选择吗?“如何在不摇晃设备的情况下重新加载?”@OsmanGaniKhanMasum:“只摇晃你的设备。”你可以从设置中启用“硬重新加载”。这很简单。对于任何对第一个命令有问题的人(例如无法对焦的文本输入),另一种选择是adb shell“input keyevent 82&&input keyevent 66&&input keyevent 66”
。如果您同时运行两台设备,它会在开发者菜单中手动点击“重新加载”,并且它不允许您运行任何可以简单执行的adb
命令:adb-s shell输入文本“RR”