我想创建一个快捷方式来启动具有特定参数的特定 AVD。如果我使用 emulator.exe 创建批处理文件,start emulator.exe -avd myavd
命令窗口会在设备启动后显示并保留。关闭 emulator.exe 窗口将关闭设备。
如何启动设备而不像 AVD Manager 或 Eclipse 那样看到此窗口?
我想创建一个快捷方式来启动具有特定参数的特定 AVD。如果我使用 emulator.exe 创建批处理文件,start emulator.exe -avd myavd
命令窗口会在设备启动后显示并保留。关闭 emulator.exe 窗口将关闭设备。
如何启动设备而不像 AVD Manager 或 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();
}
}
然后将其用作您的快捷方式:
"C:\Program Files\Java\jre1.8.0_40\bin\javaw.exe" -cp "S:\ADT workspace\AVDs\bin" AVDs -timezone Europe/London -avd Lollipop -scale 0.5
替换您的类路径,或在不需要时将其删除。确保使用 javaw 的路径,不要只使用 java。
我找到了一个简单的解决方法,使用 SilentCMD
创建批处理文件,在我的情况下,我的 AVD 称为“PIXEL_MARSHMALLOW_6”,所以我的批处理称为emulator_marshmallow.cmd:
REM emulator_marshmallow.cmd
emulator @PIXEL_MARSHMALLOW_6
跑
c:\>SilentCMD emulator_marshmallow.cmd
这将运行模拟器并且隐藏 cmd.exe 窗口。顺便说一句,我在这里找到了许多其他实用程序,例如 SilentCMD:https ://www.raymond.cc/blog/hidden-start-runs-batch-files-silently-without-flickering-console/
据我所知,你不能。即使您从 Windows 运行对话框运行 emulator -avd Nexus_One ,也会打开类似窗口的命令行。我也看不到任何隐藏此选项的选项,例如静默模式(运行 emulator -help 显示可用选项)。Eclipse 有自己的内置命令行,因此您看不到另一个窗口。