Visual Studio 2022 Xamarin 安装 Android SDK 模拟器时出现 "操作失败:安装 Android Emulatorv31.2.10" 的错误。

7

我目前正在尝试通过Android SDK和Tools对话框安装Android模拟器。

但是,我收到了错误消息:

操作失败:安装Android Emulatorv31.2.10“指定的参数超出了有效值的范围”。

我已经删除了所有设置的设备,但仍然没有成功。至于SDK Build Tools,我安装了33、32和31,还有平台,33、32、31也都安装了。

日志:

[2022-11-09 13:53:41.5] WARNING: [Resiliency.Polly.Policies]: Delegate has thrown System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Xamarin.Installer.AndroidSDK.Manager.Helper.<CheckIfNetworkAvailable>d__38.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Polly.Retry.AsyncRetryEngine.<ImplementationAsync>d__0`1.MoveNext(), retrying...
[2022-11-09 13:53:42.6] ACTION: Install start component emulator
[2022-11-09 13:53:42.6] EXCEPTION: Downloading Android Emulator v31.2.10 failed, Details: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
   at Xamarin.Installer.AndroidSDK.MonitorWithTotalProgress.set_SubComponentsCount(Int32 value)
   at Xamarin.Installer.AndroidSDK.Manager.AndroidSDKComponent.<Install>d__66.MoveNext()
[2022-11-09 13:53:42.6] ACTION: Install result InstallationError component emulator
[2022-11-09 13:53:42.6] ACTION: ApplySdkComponentChanged uninstall:[] install:[emulator]

你可以查看这个Android模拟器文档,或者尝试重新安装vs。 - Jianwei Sun - MSFT
与https://developercommunity.visualstudio.com/t/Installing-the-emulator-fails-Operation/10232926相关的编程内容。 - sorosh_sabz
4个回答

7

终于搞定了,下面是步骤:

  1. 前往sdk文件夹 C:\Program Files (x86)\Android\android-sdk\cmdline-tools\7.0\bin (在Visual Studio中检查该文件夹)

  2. 安装模拟器 sdkmanager.exe --install emulator

  3. 验证 sdkmanager.exe --list_installed


非常感谢,我可以按照您的指示安装,但是在更新模拟器后,我的qemu-system没有响应,您能帮助我吗? - sorosh_sabz
请提供您的解决方案,以解决https://developercommunity.visualstudio.com/t/Installing-the-emulator-fails-Operation/10232926#T-N10235166中安装模拟器失败的问题。 - sorosh_sabz
1
对我没用。在C:\Program Files (x86)\Android\android-sdk\cmdline-tools\7.0\bin路径下不存在sdkmanager.exe文件。Patrik的答案对我有用。 - Andrew Hawes
@AndrewHawes 那是默认文件夹,你可以在工具 > 选项 > Android 设置 > Android SDK 位置中检查。 - TienQuang
1
这对我有用,但是我不得不从sdkmanager.exe中删除“.exe”。现在我的模拟器已经安装好了。谢谢@TienQuang - ECDev01
那是因为它是一个.bat文件。请运行“sdkmanager.bat --installl emulator”代替。 - Dag Baardsen

4

我遇到了相同的问题,我解决了它:

  1. 在Android SDKs和工具窗口中卸载Android模拟器
  2. 重新启动VS 2022(不确定是否必要)
  3. 启动Android设备管理器窗口并尝试运行(如果镜像存在)镜像或创建新的镜像。然后Android设备管理器会安装正确版本的模拟器

1
有趣的是,由于某种原因我无法安装模拟器。VikekDev的答案也没有起作用。
我所做的是删除所有sdk并重新安装它们,尝试安装模拟器 -> 失败。
然后我尝试在设备管理器中创建一个设备(API31),有趣的是这个方法奏效了。然后我启动了设备,突然模拟器出现了,启动了创建的设备。 VS随后抱怨我的目标版本是< 31,这是真实的,为了测试我将其设置为31,现在我的应用程序编译成功,并且能够在模拟器中部署。
如果我现在检查SDK和工具,模拟器再次出现了。
也许是当我添加设备时它拉取了正确的模拟器?我不确定是什么修复了它,但也许我的步骤或VivekDev的帖子可以帮助其他人解决这个问题。

对我来说,这也是经过一段时间的试错才成功的。所以基本上现在这些东西还不够成熟。 - VivekDev
现在你也可以尝试使用 .net 7。请查看我的更新答案。 - VivekDev
1
谢谢!只是确认“卸载模拟器,重新启动VS,启动设备,批准自动模拟器下载”的策略可行。我已经安装了所有的SDK,所以我并没有对它们做任何事情 - 因此无法确认其必要性。 - AnEnglishmanInNorway

1

我遇到了同样的问题,不过我想我找到了解决方案。

按照以下步骤进行操作,需要多个步骤尝试和错误修正。首先安装Google Play Intel x86 Atom_64 System Image。

安装 Google Play Atom 系统镜像

工具

然后,一旦安装完成,模拟器应该会自动安装。

这花费了我相当长的时间,需要多个步骤。

需要多次重启电脑。

看看以下截图。

Android 模拟器

模拟器2

模拟器3

模拟器5

模拟器6

模拟器7

模拟器8

更新

你可以使用 .net 7。我将我的 Visual Studio 更新到了 17.4.0 版本。

Visual Studio 已更新到 17.4.0 版本

现在,刚刚发布的 .net 7 已经准备就绪。

Dotnet 7 SDK

现在,请使用以下命令创建一个新的DotNet MAUI应用程序。请注意,命令中使用了net 7.0。

dotnet new maui --name MauiCliBasicTwo --framework net7.0

通过这个,我们可以使用SDK平台33。 Android SDK Platform 33 Launch Android Emulator Device Manager Andriod Device Create Andriod Device Running MAUI App in the emulator Emulator in visual studio

很遗憾,在这里它不起作用。即使我选择了Android并且它想要安装模拟器,但仍然以完全相同的消息失败。 - Steve
提供的.NET 7.0更新解决方案在11/11对我有效。虽然有点奇怪和hacky,但最重要的是它让模拟器就位,现在我可以做所有其他需要的事情了。感谢你们的解决方法!顺便说一下,我正在使用XAMARIN Native而不是MAUI,现在一切都很好。 - Kyle

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