如何隐藏Android模拟器终端输出以执行后续命令?
隐藏Android模拟器终端输出的解决方案
要解决模拟器输出覆盖后续命令输出的问题,只需将模拟器进程的标准输出(stdout)和标准错误(stderr)全部重定向到/dev/null(系统的"黑洞"设备,会丢弃所有写入它的内容),同时保持后台运行。
修改后的完整脚本如下:
read -p "Which Android emulator name (i.e. Pixel_7_Pro_API_34)?: " device # 将模拟器输出全部重定向到/dev/null,后台运行 emulator -avd $device > /dev/null 2>&1 & adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done; input keyevent 82' npx react-native run-android
关键修改说明
> /dev/null:将模拟器的标准输出(正常运行日志)丢弃,不显示在终端2>&1:将标准错误(错误提示、警告信息等)重定向到与标准输出相同的位置(即/dev/null),确保所有类型的输出都被隐藏- 保留末尾的
&:让模拟器在后台运行,不阻塞后续adb和React Native命令的执行
这样修改后,模拟器会在后台静默启动,adb设备等待命令和npx react-native run-android的输出就能正常显示,不会被模拟器的日志内容覆盖。
内容的提问来源于stack exchange,提问作者Mike Flynn
相关产品推荐
相关产品推荐

