我创建了一个基本的 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。
这里发生了什么?
简而言之:
1.“无法连接到调试器”问题(Android应用程序启动并立即关闭,调试停止):
- 关闭Android模拟器窗口以关闭虚拟机。
- 开始“Hyper-V 管理器“(在 Windows 中管理虚拟机的 Microsoft 程序,您已安装)
- 选择您要使用的模拟器
- 右键单击上下文菜单,点击Settings
- 在设置对话框中展开处理器
- Click 兼容性
- 在右侧窗格中设置复选框“迁移到具有不同处理器版本的物理计算机”
- 在Visual Studio中启动调试以重新启动模拟器
2.缺少libaot-mscorlib.dll.so问题:
转到 Android 项目的属性,点击“Android 选项”选项卡,然后取消选择“使用快速部署”。
Source:
修复将 Xamarin Forms 应用部署到 Visual Studio Android 模拟器 (VS2015) 时“无法连接到调试器”的问题 http://dotnetbyexample.blogspot.ru/2016/02/fix-for-could-not-connect-to-debugger.html
这个问题似乎只发生在新一代处理器上,这解释了为什么我以前从未见过它。
发生这种情况的原因是,截至 2015 年,适用于 Android 的 Visual Studio 模拟器的 Android 映像与新一代英特尔处理器之间不兼容。
该解决方案也发布在这里:Visual Studio Android 模拟器无法完全启动 https://stackoverflow.com/a/34329171/1928164
更新 2017 年 11 月 29 日
您确实应该考虑迁移到 Google 通过 Android Studio for Windows 提供的 Android 模拟器。较新的 Android API 级别(24 及以上)仅在那里可用,并且微软似乎并不关心 https://blog.rthand.com/post/2017/05/02/good-bye-visual-studio-emulator-for-android-and-hello-problems.aspx.
不幸的是,我们没有计划发布 4.4 之后的 Android 镜像。我们建议您尝试使用 Google 或 GenyMotion 的模拟器来获取 Android 操作系统的未来映像。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)