Command line 如何在看不到emulator.exe窗口的情况下启动Android虚拟设备

Command line 如何在看不到emulator.exe窗口的情况下启动Android虚拟设备,command-line,android-emulator,Command Line,Android Emulator,我想创建一个快捷方式,用特定参数启动特定AVD。如果使用start emulator.exe-avd myavd创建批处理文件,则emulator.exe命令窗口将显示,并在设备启动后保持不变。关闭emulator.exe窗口将关闭设备 我如何启动设备而不象AVD管理器或Eclipse那样看到此窗口?据我所知,您不能。即使您从Windows运行对话框运行emulator-avd Nexus_One,也会打开一个类似命令行的窗口。我看不到任何隐藏此选项的选项,比如静默模式(运行emulator-h

我想创建一个快捷方式,用特定参数启动特定AVD。如果使用
start emulator.exe-avd myavd
创建批处理文件,则emulator.exe命令窗口将显示,并在设备启动后保持不变。关闭emulator.exe窗口将关闭设备


我如何启动设备而不象AVD管理器或Eclipse那样看到此窗口?

据我所知,您不能。即使您从Windows运行对话框运行emulator-avd Nexus_One,也会打开一个类似命令行的窗口。我看不到任何隐藏此选项的选项,比如静默模式(运行emulator-help显示可用选项)。Eclipse内置了自己的命令行,因此您不会看到另一个窗口。

创建此java以替换所需avd的详细信息:

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class AVDs
{       
    public static void main(String[] args) throws IOException
    {
        List<String> avdCmd = new ArrayList<String>(args.length + 1);
        avdCmd.add("C:\\Users\\Steve\\AppData\\Local\\Android\\sdk\\tools\\emulator.exe");
        for (String cmdarg: args)
        {
            avdCmd.add(cmdarg);
        }
        ProcessBuilder launch = new ProcessBuilder();
        launch.inheritIO().command(avdCmd).start();
    }
}

替换类路径,或者如果不需要,将其删除。确保使用javaw的路径,而不仅仅是使用java。

我发现了一个简单的解决方法,使用

创建批处理文件,在我的示例中,我的AVD被称为“PIXEL\u MARSHMALLOW\u 6”,因此我的批处理被称为emulator\u MARSHMALLOW.cmd

REM emulator_marshmallow.cmd    
emulator @PIXEL_MARSHMALLOW_6

这将运行emulator,并且cmd.exe窗口是隐藏的。
顺便说一句,我在这里找到了许多其他实用程序,如SilentCMD:

一个进程启动实用程序!我将把这个标记为答案,因为它确实解决了问题。您可以用任何语言编写,也可以找到现成的语言。对于不熟悉java的新用户,请指定如何编译,然后才能使用。在使用之前还要安装java jre。
REM emulator_marshmallow.cmd    
emulator @PIXEL_MARSHMALLOW_6
c:\>SilentCMD emulator_marshmallow.cmd