无法通过命令行启动Android模拟器

16

Windows 7,Android Studio 2.3

我有三个模拟器。并且所有的启动都成功从 Android Studio 开始。

但是我想从命令行启动它们。以下是我的步骤(从命令行):

  1. emulator -list-avds

成功显示出所有我的模拟器:

  1. Nexus_3_7_API_17_ver_4_2_1
  2. Nexus_3_7_hdpi_API_24_7_0
  3. Nexus_5_96_xxhdpi_API_24_7_0

所以我想启动其中一个:

emulator -avd Nexus_3_7_API_17_ver_4_2_1

但我得到了错误:

[8648]:ERROR:./android/qt/qt_setup.cpp:28:Qt library not found at ..\emulator\lib64\qt\lib
Could not launch '..\emulator/qemu/windows-x86_64/qemu-system-i386.exe': No such file or directory
7个回答

18

我遇到了完全相同的问题,但我使用了一个解决方法。让我来解释一下:

模拟器中存在一个“漏洞”:它无法找到相对路径。

..\emulator\lib64\qt\lib

这非常棒,因为它很容易解决...无论什么。

只需将CD更改为c:\ path \ to \ your \ android-sdks \ emulator,通常类似于

cd c:\Users\<YOUR_USER_NAME>\android-sdks\emulator

然后,在这个目录中,运行任何您想要的模拟器命令,例如您的命令:

emulator.exe -avd Nexus_3_7_API_17_ver_4_2_1

在你的终端中看起来会像这样:

c:\Users\<YOUR_USER_NAME>\android-sdks\emulator> emulator.exe -avd Nexus_3_7_API_17_ver_4_2_1

它会正常工作。


1
在 Windows 10 上,使用 .\emulator.exe -avd Nexus_3_7_API_17_ver_4_2_1 的方式操作。 - Muhammad Shoaib Murtaza

13

将模拟器路径添加到环境变量中解决了我的问题。现在,我可以从任何位置运行模拟器命令。

您可以按照以下步骤实现:

  1. 打开“高级系统设置”。
  2. 点击“环境变量”。
  3. 在两个框中的“Path”变量中添加以下内容:

    %USERPROFILE%\AppData\Local\Android\Sdk\emulator

  4. 重新启动命令提示符。

注意:您的路径可能与上面提到的不同。如果是这种情况,则必须搜索您的模拟器路径。


1
  1. 打开命令提示符
  2. 进入模拟器的路径,例如:

$ cd c:\sdk\tools

  1. 运行模拟器:

$ emulator -avd Nexus_3_7_API_17_ver_4_2_1


1
可以从任何地方运行模拟器吗?不需要输入cd c:\ sdk \ tools。 - Alexei
1
在 Linux 中,模拟器依赖于该文件夹中的库,您可以通过将以下功能添加到 ~/.profile(或 ~/.bashrc)来使用它: function emulator { cd "$(dirname "$(which emulator)")" && ./emulator "$@"; } - Mortada Jafar
我通过将以下内容添加到我的bashhrc文件中,成功使其工作起来: "function emulator { cd '/Users/locus/Library/Android/sdk/emulator' ./emulator "$@" }" - Brndn

1

对于Mac用户,类似于Pascal的回答,在终端中输入:

cd /Users/myname/Library/Android/sdk/tools
./emulator -adv mydevicename

对于其他的Mac用户,以下可能是所需内容。

cd ~/Library/Android/sdk/emulator
./emulator -avd Nexus_S_API_31 -change-locale fr-CA

执行以下内容时出现错误:

emulator -avd Pixel_2_API_28

[4809612736]:ERROR:android/android-emu/android/qt/qt_setup.cpp:28:Qt library not found at ../emulator/lib64/qt/lib
Could not launch '/Users/myname/.android/../emulator/qemu/darwin-x86_64/qemu-system-x86_64': No such file or directory

0

打开命令提示符并输入以下路径:

cd c:\Users\userName\android-sdks\emulator

之后:

emulator -avd avd_name


0

我认为错误是由于您没有指定确切的位置,所以请按照以下步骤操作:

  • 打开命令提示符
  • 输入以下内容:emulator -avd avd_name [ {-option [value]} … ]

/Users/janedoe/Library/Android/sdk/tools/emulator -avd Nexus_3_7_API_17_ver_4_2_1 -netdelay none -netspeed full


当然,我需要指定完整路径。但我不想每次都这样做。我想从任何地方启动模拟器而无需完整路径。 - Alexei
你是指“从任何地方”是什么意思? - Abubakar
please be specific - Abubakar
当我在文件夹"C:\temp"或"D:\dev\myProject"中时,启动模拟器。 - Alexei
更改目录 - Abubakar
显示剩余2条评论

0
将以下内容添加到您的~/.bashhrc或~/.zshrc文件中,记得更新用户名:
function emulator {
  cd '/Users/locus/Library/Android/sdk/emulator'
  ./emulator "$@"
}

重新加载更改后的内容。
source ~/.zshrc

然后,通过运行以下命令来验证它是否正常工作:
emulator -list-avds

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接