我想创建一个快捷方式来启动具有特定参数的特定 AVD。如果我使用
start emulator.exe -avd myavd
创建批处理文件,则 emulator.exe 命令窗口将在设备启动后显示并保留。关闭 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 有自己的内置命令行,因此您不会看到另一个窗口。
您可以使用以下 powershell 命令启动模拟器,而无需显示命令窗口:
Start-Process "emulator" -ArgumentList "-avd {YourAVD}" -WindowStyle Hidden
您只需创建一个包含此命令的
.ps1
文件(powershell 文件)即可启动模拟器。