有没有办法在不动摇应用程序的情况下打开开发菜单或重新加载应用程序?
的Android 无线上网,所以没有USB线 Windows 10
热重装或实时重装不够好,我的手臂疼!:)
答案 0 :(得分:11)
对于android: 在package.json中,在脚本中添加以下行
"reload":"adb shell input keyevent 82 && adb shell input keyevent 66 && adb shell input keyevent 66",
"devmenu":"adb shell input keyevent 82",
"debug":"adb shell input keyevent 82 && adb shell input keyevent 61 && adb shell input keyevent 66 && adb shell input keyevent 66"
现在您可以运行npm run devmenu
在android中打开“震动”菜单,
reload
重新加载应用程序,debug
连接到远程调试器。
对于ios:您可以在应用程序中的某个位置为其设置一个按钮,并且仅在应用程序处于开发模式时才显示此东西。
import {NativeModules,Platform} from "react-native"
renderDevMenuTouchable = () => {
if(__DEV__ && Platform.OS == "ios" ){
return (
<TouchableOpacity
style={styles.touchableDebug}
onPress={()=>{
NativeModules.DevMenu.reload();
}}
onLongPress={()=>{
NativeModules.DevMenu.show();
}}
>
<View style={{backgroundColor:"red",width:23,height:25}}/>
</TouchableOpacity>
)
}
else {
return null;
}
}
答案 1 :(得分:6)
答案 2 :(得分:4)
正如@bennygenel提示的那样,从该页面可以看到Android上的命令是通过adb
adb shell input keyevent 82
打开无线设备上的菜单
答案 3 :(得分:3)
您可以通过以下方式向设备发送重载呼叫:adb shell input keyboard text "rr"
答案 4 :(得分:1)
答案 5 :(得分:0)
对于iOS,我喜欢将应用程序包装在这样的组件中,该组件允许三指触摸来触发开发菜单:
if(!isset($_POST)){
$name_error = "";
}
if(isset($_POST) && !empty($_POST)){
$_SESSION['current'] = $_POST;
$name_error = validateForm();
}
function validateForm() {
$cust = $_SESSION['current']['cust'];
$usermovie = $_SESSION['current']['movie'];
$userseats = $_SESSION['current']['seats'];
if(!preg_match('/[a-zA-Z ]+/', $cust['name']) || empty($cust['name'])){
$name_error = "a-z only.";
} else{
$_SESSION['bookings'][] = $_SESSION['current'];
echo 'pass';
$name_error = "";
}
return $name_error;
}
答案 6 :(得分:0)
对我来说,仅使用adb shell input keyevent 82
可以有效
为方便起见,您可以将其添加到scripts
文件内的package.json
此链接:
"android-menu": "adb shell input keyevent 82"
显然还有KK设备存在问题-solved here
答案 7 :(得分:0)
在 Android 中也可以通过音量键打开调试菜单。检查以下链接。