Xamarin Forms Android App 使用 VS Android Emulator 运行调试时崩溃



我创建了一个基本的Xamarin Forms应用程序。它适用于iOS模拟器。

但是,当我尝试使用VS Android模拟器(5.1英寸棉花糖)运行时,每次打开时都会崩溃。即使我尝试在没有调试的情况下运行。以下是我一直看到的错误:

01-14 16:22:10.290 D/Mono    ( 1366): AOT module 'mscorlib.dll.so' not found: dlopen failed: library "/data/app-lib/App3.Droid-2/libaot-mscorlib.dll.so" not found
01-14 16:22:10.290 D/Mono    ( 1366): AOT module '/Users/builder/data/lanes/2512/d3008455/source/monodroid/builds/install/mono-x86/lib/mono/aot-cache/x86/mscorlib.dll.so' not found: dlopen failed: library "/data/app-lib/App3.Droid-2/libaot-mscorlib.dll.so" not found
01-14 16:22:10.294 D/Mono    ( 1366): Unloading image data-0x9659b010 [0xb93d5940].

我正在运行VS2015 + Xamarin Forms 2.0最新和最好的。

这是怎么回事?

简而言之:

1."无法连接到调试器"问题(Android应用程序启动并立即关闭,调试停止):

  1. 关闭 Android 模拟器窗口以关闭虚拟机。
  2. 启动"Hyper-V Manager"(Microsoft程序来管理Windows中的虚拟机,您已经安装了它)
  3. 选择您尝试使用的模拟器
  4. 右键单击上下文菜单,点击设置
  5. 在设置对话框中,展开处理器
  6. 单击兼容性
  7. 在右窗格中设置复选框"迁移到具有不同处理器版本的物理计算机"
  8. 在 Visual Studio 中启动调试以重新启动模拟器

2. 缺失 libaot-mscorlib.dll.so 问题:

转到Android项目的属性,点击"Android选项"选项卡,然后取消选择"使用快速部署"。

源:修复了将 Xamarin Forms 应用部署到 Visual Studio Android 模拟器 (VS2015) 时"无法连接到调试器"的问题

这个问题似乎只发生在新一代处理器上,这就解释了为什么我以前从未见过它。

发生这种情况是因为截至 2015 年的 Android Visual Studio 模拟器的 Android 映像与新一代英特尔处理器之间不兼容。

此解决方案也在此处发布:Visual Studio android模拟器将无法完全启动

更新 十一月 29, 2017

您真的应该考虑迁移到Google通过Android Studio for Windows提供的Android模拟器。较新的Android API级别(24及以上)仅在那里可用,Microsoft似乎并不关心。

不幸的是,我们没有计划发布4.4之后的Android映像。我们建议您尝试使用Google或GenyMotion的模拟器,以获取Android操作系统的未来图像。

最新更新