I was getting the message
> Installation failed with message Failed to establish session.
so following some responses to the problem I
Your app is trying to install on internal space of your virtual device, and it doesn't have enough space. If you run the emulator, go to config/storage and you'll see you have no space.
Sometimes, the emulator is created with 800Mb of internal space, and Android Oreo (for example) occupies all that space, and it is not possible to install anything.
Furthermore, even when you config your app to "prefer external", the app keep trying to install on internal storeage, so you can not solve the problem with that.
The only solution that worked for me was increasing the internal space of the emulator, you can do that by following one of these options:
A) Go to Android SDK -> ADV Manager, locate your emulator, edit preferences and increase the space, duplicate it, or what you want.
B) Go to the folder with the config of your emulator (In Windows C:/Users/your_user/.android/avd/your_emulator) and edit the *.ini files, you can see values related to space, memory, and so on, just increase that values and save.
Visual Studio 2017 has an aweful integration with Android SDK/ADV Manager, so you need to do this 100% manually, furthermore you don't receive any info or instructions when the error happens, so it's really annoying to fix it :( And it is always the same with the 99% of Xamarin problems!