Android 模拟器不工作:无法打开/qemu.conf,找不到加速器等等

Android emulator doesn't work: Failed to open /qemu.conf, No accelerator found and more

Visual Studio Xamarin 又出问题了。 我目前有一个 Windows Pro 10.0.19043 和最新版本的 Visual Studio 2019 (16.10.4),包含以下组件:

Microsoft Visual Studio Enterprise 2019
Version 16.10.4
VisualStudio.16.Release/16.10.4+31515.178
Microsoft .NET Framework
Version 4.8.04084
Installed Version: Enterprise
Microsoft Visual C++ 2019
ASP.NET and Web Tools 2019   16.10.526.50910
ASP.NET and Web Tools 2019
Azure App Service Tools v3.0.0   16.10.526.50910
Azure App Service Tools v3.0.0
C# Tools   3.10.0-4.21329.37+246ce641f04b67ef017655275d850bf902a8e40f
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Common Azure Tools   1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.
Cookiecutter   16.10.21111.19
Provides tools for finding, instantiating and customizing templates in cookiecutter format.
Extensibility Message Bus   1.2.6 (master@34d6af2)
Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.
IntelliCode Extension   1.0
IntelliCode Visual Studio Extension Detailed Info
Linux Core Dump Debugging   1.0.9.31313
Enables debugging of Linux core dumps.
Microsoft Continuous Delivery Tools for Visual Studio   0.4
Simplifying the configuration of Azure DevOps pipelines from within the Visual Studio IDE.
Microsoft JVM Debugger   1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines
Microsoft Library Manager   2.1.113+g422d40002e.RR
Install client-side libraries easily to any web project
Microsoft MI-Based Debugger   1.0
Provides support for connecting Visual Studio to MI compatible debuggers
Microsoft Visual C++ Wizards   1.0
Microsoft Visual C++ Wizards
Microsoft Visual Studio Tools for Containers   1.2
Develop, run, validate your ASP.NET Core applications in the target environment. F5 your application directly into a container with debugging, or CTRL + F5 to edit & refresh your app without having to rebuild the container.
Microsoft Visual Studio VC Package   1.0
Microsoft Visual Studio VC Package
Mono Debugging for Visual Studio   16.10.15 (552afdf)
Support for debugging Mono processes with Visual Studio.
NuGet Package Manager   5.10.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/
NVIDIA CUDA 11.0 Wizards   11.0
Wizards to create new NVIDIA CUDA projects and source files.
ProjectServicesPackage Extension   1.0
ProjectServicesPackage Visual Studio Extension Detailed Info
Python   16.10.21111.19
Provides IntelliSense, projects, templates, debugging, interactive windows, and other support for Python developers.
Python - Profiling support   16.10.21111.19
Profiling support for Python projects.
Razor (ASP.NET Core)   16.1.0.2122504+13c05c96ea6bdbe550bd88b0bf6cdddf8cde1725
Provides languages services for ASP.NET Core Razor.
SQL Server Data Tools   16.0.62106.24090
Microsoft SQL Server Data Tools
Test Adapter for Boost.Test   1.0
Enables Visual Studio's testing tools with unit tests written for Boost.Test.  The use terms and Third Party Notices are available in the extension installation directory.
Test Adapter for Google Test   1.0
Enables Visual Studio's testing tools with unit tests written for Google Test.  The use terms and Third Party Notices are available in the extension installation directory.
TypeScript Tools   16.0.30429.2002
TypeScript Tools for Microsoft Visual Studio
Visual Basic Tools   3.10.0-4.21329.37+246ce641f04b67ef017655275d850bf902a8e40f
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Visual C++ for Cross Platform Mobile Development (Android)   16.0.31306.167
Visual C++ for Cross Platform Mobile Development (Android)
Visual C++ for Linux Development   1.0.9.31313
Visual C++ for Linux Development
Visual F# Tools   16.10.0-beta.21262.7+1b23bbeda88ea3cb9be9af777f4c99fa8663df81
Microsoft Visual F# Tools
Visual Studio Code Debug Adapter Host Package   1.0
Interop layer for hosting Visual Studio Code debug adapters in Visual Studio
Visual Studio Container Tools Extensions   1.0
View, manage, and diagnose containers within Visual Studio.
Visual Studio Tools for CMake   1.0
Visual Studio Tools for CMake
Visual Studio Tools for Containers   1.0
Visual Studio Tools for Containers
VisualStudio.DeviceLog   1.0
Information about my package
VisualStudio.Foo   1.0
Information about my package
VisualStudio.Mac   1.0
Mac Extension for Visual Studio
Xamarin   16.10.000.234 (d16-10@ecaf29b)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.
Xamarin Designer   16.10.0.115 (remotes/origin/c750fbf1bde3c720d077f51640fe197c6dac7cbe@c750fbf1b)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.
Xamarin Templates   16.10.5 (355b57a)
Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.
Xamarin.Android SDK   11.3.0.4 (d16-10/ae14caf)
Xamarin.Android Reference Assemblies and MSBuild support.
    Mono: b4a3858
    Java.Interop: xamarin/java.interop/d16-10@f39db25
    ProGuard: Guardsquare/proguard/v7.0.1@912d149
    SQLite: xamarin/sqlite/3.35.4@85460d3
    Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-10@c5732a0
Xamarin.iOS and Xamarin.Mac SDK   14.20.0.24 (c4b89cddb)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.

已安装 Android 平台:

已安装的 SDK 组件:

然而,无论我如何尝试为不同版本的 API 创建虚拟设备,模拟器都无法正常工作。从 Visual Studio 启动时,加载 window 的模拟器会永远冻结(或冻结很长时间)。当通过命令行启动时,模拟器 (C:\Program Files (x86)\Android\android-sdk\tools\emulator.exe) 产生了这个:

PS C:\Program Files (x86)\Android\android-sdk\tools> ./emulator -avd nexus_one_lollipop_5_0_-_api_21 
emulator: WARNING: encryption is off
ANGLE: D3D11: rx::Renderer11::generateConfigs
emulator: INFO: QtLogger.cpp:68: Warning: QMetaObject::connectSlotsByName: No matching signal for on_new_posture_requested(int) ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Warning: QMetaObject::connectSlotsByName: No matching signal for on_dismiss_posture_selection_dialog() ((null):0, (null))


Failed to open /qemu.conf, err: 2
Incompatible HAX module version 3,requires minimum version 4
No accelerator found.
qemu-system-i386.exe: failed to initialize HAX: Invalid argument

之后,qemu 进程永远挂起。在任务管理器中kill才结束。

-no-snapshot-load 选项对任何事情都没有影响。 我 运行 作为管理员的一切,我也尝试 运行 作为普通用户 - 结果是一样的。

如果我创建一个 С:\qemu.conf 文件,则输出会更改:

emulator: WARNING: encryption is off
ANGLE: D3D11: rx::Renderer11::generateConfigs
emulator: INFO: QtLogger.cpp:68: Warning: QMetaObject::connectSlotsByName: No matching signal for on_new_posture_requested(int) ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Warning: QMetaObject::connectSlotsByName: No matching signal for on_dismiss_posture_selection_dialog() ((null):0, (null))


qemu-system-i386.exe:/qemu.conf:1: no group defined
emulator: INFO: QtLogger.cpp:68: Warning: QMetaObject::connectSlotsByName: No matching signal for on_posture_valueChanged(int) ((null):0, (null))

之后模拟器就不再挂了,直接输出就退出了

我还想指出另一个模拟器文件 (C:\Program Files (x86)\Android\android-sdk\emulator\emulator.exe) 产生的输出略有不同。我不明白为什么会这样以及它会影响什么。

PS C:\Program Files (x86)\Android\android-sdk\emulator> ./emulator -avd nexus_one_lollipop_5_0_-_api_21
emulator: WARNING: encryption is off
C:\Program Files (x86)\Android\android-sdk\emulator\qemu\windows-x86_64\qemu-system-i386.exe:/qemu.conf:1: no group defined
PS C:\Program Files (x86)\Android\android-sdk\emulator>

现在我不知道该怎么办了。 下一步是重新安装 Windows,但是它太长太无聊了,它需要很多设置 - 我还没准备好这样做现在。

好久没用Android开发了。似乎以前一切正常,但我不能说多久以前。也许某些组件的定期更新破坏了模拟器......顺便说一句,该项目正在成功组装。但是,我无法在我的电脑上 运行 它。

是否可以在不重新安装的情况下解决问题Windows?怎么样?

我的问题原来是 Visual Studio 对 HAXM 什么都不做。 是的,是他造成了主要的错误。如果你的错误输出和我的类似,那么重要的问题就出在HAXM上。

原来从 Android SDK 菜单中安装和卸载 HAXM(如问题中的屏幕截图所示) 并不意味着 在现实中安装或卸载。

正如我在问题中所说,之前一切都对我有用,但我很长一段时间没有return。所以,我安装了 HAXM,但是是旧版本。由于某种原因,Visual Studio 既不能更新也不能卸载它。安装新版本时,旧版本没有被替换,被认为是优先级,所以安装新版本而不删除旧版本没有帮助。

如果您的旧 HAXM 安装程序(应该卸载旧 HAXM)不起作用,请继续阅读。 那么,我是如何修复错误的:

  1. 通过 Android SDK 菜单“删除”HAXM。
  2. 检查了 Device managerHAXM 条目(我没有在这里删除任何东西,因为我没有找到它)
  3. 已从 C:\Windows\System32\DRVSTORE\intelhaxm_*
  4. 中删除旧的 HAXM 文件夹
  5. 启动了损坏的旧 HAXM 安装程序以删除 HAXM 注册表项。在人工干预之前,他不想工作,理由是缺少某种 .msi 文件。
  6. 重启电脑
  7. 我使用以下命令确保旧的 HAXM 已从系统中删除:C:\Program Files (x86)\Android\android-sdk\emulator> .\emulator-check.exe accel
  8. 通过 Android SDK 菜单“安装”了 HAXM。 (在这一步,没有安装任何东西 - 上一步的命令仍然报告没有 HAXM。)
  9. 已从 Intel 官方存储库安装 HAXM:https://github.com/intel/haxm/releases
  10. 通过第 6 步中的命令,我确保 HAXM 已正确安装(例如,显示了我 PC 上的输出):
PS C:\Program Files (x86)\Android\android-sdk\emulator> .\emulator-check.exe accel
accel:
0
HAXM version 7.7.0 (4) is installed and usable.
accel

之后,模拟器应该可以工作了。也许 Android Device Manager 会显示设备模拟器已经是 运行(但我没有找到 qemu*emulator 进程)。大概这个可以更准确的解决,不过我只是删除了已有的设备,重新创建了。