Xamarin Forms Android 应用程序在使用 VS Android 模拟器运行调试时崩溃
Posted
技术标签:
【中文标题】Xamarin Forms Android 应用程序在使用 VS Android 模拟器运行调试时崩溃【英文标题】:Xamarin Forms Android App Crashes Running Debug with VS Android Emulator 【发布时间】:2016-04-20 09:41:05 【问题描述】:我创建了一个基本的 Xamarin Forms 应用程序。它适用于 ios 模拟器。
但是,当我尝试使用 VS android 模拟器(5.1in Marshmallow)运行时,每次打开时都会崩溃。即使我尝试在没有调试的情况下运行。以下是我一直看到的错误:
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。
这是怎么回事?
【问题讨论】:
你能用另一个模拟器运行你的应用吗? 我有同样的问题,但只是在调试模式下(发布模式和具体的智能手机工作正常)。 Xamarin 日志中还写了另一条消息:“无法连接到调试器”。仅供参考,Xamarin 论坛上有一个帖子正在谈论它,目前没有任何解决方案(forums.xamarin.com/discussion/50696/…) 感谢 TOK。是的,我可以用实际的手机运行它,所以现在就足够了 【参考方案1】:简而言之:
1. “无法连接到调试器”问题(Android 应用启动并立即关闭,调试停止):
-
关闭 Android 模拟器窗口以关闭虚拟机。
启动“Hyper-V 管理器”(用于在 Windows 中管理虚拟机的 Microsoft 程序,已安装)
选择您要使用的模拟器
右键单击上下文菜单,点击设置
在设置对话框中展开处理器
点击兼容性
在右侧窗格中设置复选框“迁移到具有不同处理器版本的物理计算机”
在 Visual Studio 中启动调试以重新启动模拟器
2。缺少 libaot-mscorlib.dll.so 问题:
转到 Android 项目的属性,点击“Android 选项”选项卡,然后取消选择“使用快速部署”。
来源: Fix for “could not connect to the debugger” while deploying Xamarin Forms apps to the Visual Studio Android Emulator (VS2015)
这个问题似乎只发生在新一代处理器上,这解释了为什么我以前从未见过它。
发生这种情况是因为适用于 Android 的 Visual Studio 模拟器的 Android 映像与截至 2015 年的新一代英特尔处理器不兼容。
这个解决方案也在这里发布:Visual studio android emulator will not start fully
2017 年 11 月 29 日更新
您真的应该考虑迁移到 Google 通过 Android Studio for Windows 提供的 Android 模拟器。更新的 Android API 级别(24 及以上)仅在 Microsoft does not seem to care 处可用。
很遗憾,我们没有计划在 4.4 之后发布 Android 映像。我们建议您尝试使用 Google 或 GenyMotion 的模拟器来获取 Android 操作系统的未来映像。
【讨论】:
优秀 - 选项 1 解决了我的问题(任何应用程序都会启动并立即关闭) @aherrick 很抱歉破坏了您的评论。我改变了建议的例程,因此帮助您的例程现在排名第一。 第一个解决方案为我解决了这个问题!谢谢!! 如何在 Hyper-V 管理器中找到这个神奇的复选框?我的意思是,如果我安装了 VS、Xamarin、所需的 Android 东西,并且空示例项目的调试失败,通常我必须去那里检查这个选项。他们在想什么?! @vibhu 你真的应该考虑迁移到谷歌提供的新模拟器(Android Studio for windows)。新的 android API(24 及以上)将仅在那里可用。微软似乎不会继续支持他们的模拟器。以上是关于Xamarin Forms Android 应用程序在使用 VS Android 模拟器运行调试时崩溃的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin.forms(或)xamarin.ios/xamarin.android(或)本机
Xamarin.Forms - 创建 Android Wear 应用程序时出现问题
退出应用程序时在 Android 上的 Xamarin.Forms 中获取 NullReferenceException
Samsung / Android 8.0 Oreo 更新导致应用程序崩溃? (Xamarin.Forms 应用程序)