问题
I have a basic Xamarin Forms app I created. It works fine against the iOS simulator.
However when I try and run with a VS Android Emulator (5.1in Marshmallow) it crashes every time upon opening. Even when I try and run without debugging. Below is the error I keep seeing:
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].
I am running VS2015 + Xamarin Forms 2.0 latest and greatest.
What's going on here?
回答1:
In short:
1. "Could not connect to the debugger" issue (Android app starts and immediately closes, debugging stops):
- Close the Android simulator window to shut down the virtual machine.
- Start the "Hyper-V Manager" (Microsoft program to manage virtual machines in Windows, you have it installed)
- Select the emulator you are trying to use
- Right-click for context menu, hit Settings
- In the settings dialog expand Processor
- Click Compatibility
- In the right pane set checkbox “Migrate to a physical computer with a different processor version”
- Start the debugging in Visual Studio to restart the simulator
2. The missing libaot-mscorlib.dll.so issue:
Go to the properties of the Android project, hit tab “Android options”, and unselect “Use Fast Deployment”.
Source: Fix for “could not connect to the debugger” while deploying Xamarin Forms apps to the Visual Studio Android Emulator (VS2015)
This issue only seems to be occurring on the newer generation of processors, which explains why I never saw it before.
This happens because of an incompatibility between the Android images for the Visual Studio emulator for Android and the newer generations of Intel processors as of year 2015.
This solution is also published here: Visual studio android emulator will not start fully
UPDATE November 29, 2017
You should really consider moving to the Android emulators provided by Google via Android Studio for Windows. Newer Android API levels (24 and above) are only available there and Microsoft does not seem to care.
Unfortunately, we have no plans to publish Android images past 4.4. We recommend that you try Google or GenyMotion’s emulator for future images of the Android operating system.
来源:https://stackoverflow.com/questions/34800168/xamarin-forms-android-app-crashes-running-debug-with-vs-android-emulator