首页 > 解决方案 > 如何在没有控制台窗口的情况下从 .bat 运行 AVD 模拟器?

问题描述

我想创建一个快捷方式来运行 AVD 模拟器而不打开 Android Studio。所以我使用一个.bat包含下一行的文件:

emulator @Pixel_2_API_29

运行它时,我当然会得到一个我真的不需要的控制台窗口:

命令

如果我关闭它,模拟器也会关闭。有没有办法在后台运行它或类似的东西只是为了获得一个没有任何控制台窗口的正在运行的模拟器(如果你从 Android Studio 运行模拟器并立即关闭它,可以实现相同的行为)?

标签: android-studiobatch-filecmdandroid-emulatoravd

解决方案



在此处输入图像描述


这是一个混合 cmd/js/vbs/batch,这段代码可以为你完成这项工作,只需保存为 .cmd 即可享受!


<!-- :
@echo off && mode 050,03 && title <nul && title .\%~nx0 && for /f ^tokens^=* %%i in ('
%__APPDIR__%wScript.exe "%~dpnx0?.wsf" @Pixel_2_API_29 ^& cls ') do exit /b 2>nul >nul
--> <job> <script language = "vbscript"> Set WshShell =CreateObject( "WScript.Shell" )
WshShell.Run chr(34)&"%userprofile%\AppData\Local\Android\Sdk\emulator\emulator.exe"&_
Chr(34)&WScript.Arguments(0)&Chr(34), 0, False: Set WshShell = Nothing </script></job>

  • 观察:

您可以阅读有关混合蝙蝠的更多信息in this link,并查看一些sample code/files here.


  • 对于使用参数,只需在 for 循环 bat 会话中添加引号:
"arg1 arg2 ag3" <==> " -memory 4096" obs.: 3rd line in code!

<!-- :
@echo off && mode 050,03 && title <nul && title .\%~nx0 && for /f ^tokens^=* %%i in ('
%__APPDIR__%wScript.exe "%~dpnx0?.wsf" @Pixel_2_API_29 " -memory 4096"^>nul')do exit/b
--> <job> <script language = "vbscript"> Set WshShell =CreateObject( "WScript.Shell" )
WshShell.Run chr(34)&"%userprofile%\AppData\Local\Android\Sdk\emulator\emulator.exe"&_
Chr(34)&WScript.Arguments(0)&Chr(34)&Chr(34)&WScript.Arguments(1)&Chr(34), 0, False:
Set WshShell=Nothing</script></job>


推荐阅读