Mes premiers pas (mes seconds en fait) avec Xamarin Des erreurs vous avez dit ?

Bon, voilà, c’est fait, je me relance dans les tests de Xamarin. J’avais essayé voilà plusieurs, et … j’avais abandonné : trop bugué, ça plantait tout le temps, voire impossible de lancer l’émulateur … sans parler du non support réel pour iPhone (obligé d’avoir un mac #WTF)

Je me suis dit, aller, ça fait plusieurs années, ça a du changé ! Voyons ensemble :

 

Premier test : une projet POC Android avec Xamarin

Je lance Visual Studio 2019, je crée un projet Android, juste un simple, vous savez, rien de compliqué.

Je lance l’émulation et ….

 

PAF, ça fait des chocapics ! Tiens, encore une erreur !

emulator: WARNING: cannot read adb public key file: C:\Users\evan\.android\adbkey.pub
emulator: ERROR: Missing initial data partition file: C:\Users\evan\.android\avd\Android_Accelerated_x86_Oreo.avd/userdata.img
emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure Windows Hypervisor Platform (WHPX) is properly installed and usable.
CPU acceleration status: Please disable Hyper-V before using the Android Emulator.  Start a command prompt as Administrator, run ‘bcdedit /set hypervisorlaunchtype off’, reboot.

> Incompréhensible => ils disent le contraire sur la doc officielle
On tente quand mĂŞme Smile


Au redémarrage Docker me pleure dessus
:
Il faut activer la virtualisation ….WTF !

Bon on teste quand meme …

Plus l’erreur, mais :

Impossible de dĂ©marrer l’Ă©mulateur Android_Accelerated_x86_Oreo.
En attente de la fin des vĂ©rifications Ă  l’exĂ©cution
VĂ©rifications Ă  l’exĂ©cution effectuĂ©es
La génération a été annulée.

 

 

On tente d’installer un emulator, sans la dernière version (sans Oreo) :

 

image

 

Et ça … plante :

image

sans aucune réelle info.

Allons voir dans le EventLog :

image

 

De mieux en mieux ! Au secours.

Bon cherchons à utiliser un device déjà existant alors ?:

Ca ne veut pas fonctionner :

Le dossier image n’existe pas dans le config.ini, me dit il … mais what ?!

 

Essayons de relancer l’Oreo device :

image

 

Et hop, encore une erreur .. décidemment, coder pour Android, avec Xamarin, est un vrai parcours du combattant : Windows Phone pourquoi tu es parti ? Crying face

 

 

En lançant Visual studio 2019, la même chose :

En attente de la fin des vĂ©rifications Ă  l’exĂ©cution
emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure Windows Hypervisor Platform (WHPX) is properly installed and usable.
CPU acceleration status: HAXM is not installed on this machine
Impossible de dĂ©marrer l’Ă©mulateur Android_Accelerated_x86_Oreo.

 

C’est décidé, nous réinstallons l’émulateur Android, pour Visual Studio.

 

Et puis, après vérifier que tout est vraiment ok dans notre configuration de l’Hyper V, nous relançons la commande : bcdedit /set hypervisorlaunchtype, mais cette fois-ci avec bcdedit /set hypervisorlaunchtype auto.

On redémarre notre PC (une nouvelle fois).

 

Et là, on teste (après avoir re-re-re lancé notre Visual Studio et donc notre projet), et ….

Le miracle a lieu – plus d’erreurs avec Xamarin ?

C:\Program Files (x86)\Android\android-sdk\emulator\emulator.EXE -no-boot-anim -avd Android_Accelerated_x86_Oreo -prop monodroid.avdname=Android_Accelerated_x86_Oreo
Windows Hypervisor Platform accelerator is operational
Your emulator is out of date, please update by launching Android Studio:
– Start Android Studio
– Select menu « Tools > Android > SDK Manager »
– Click « SDK Tools » tab
– Check « Android Emulator » checkbox
– Click « OK »
2>En attente de la fin des vĂ©rifications Ă  l’exĂ©cution
L’Ă©mulateur Android_Accelerated_x86_Oreo est en cours d’exĂ©cution.
En attente de l’Ă©mulateur…
emulator: INFO: boot completed
Detecting installed packages
Detecting installed packages…
Removing old runtime
Removing old runtime: Mono.Android.DebugRuntime…
Installing shared runtime
Target device is x86.
Installing the Mono shared runtime (debug – 1556497608)…

 

image

 

Bon, ça prend plusieurs minutes déjà pour avoir le visuel de notre Android émulé … on attend encore plusieurs minutes pour le déploiement de notre application.

 

Une application qui fonctionne !

Et ça y est, après de rudes heures de bataille, nous avons gagné : Xamarin lance bien notre projet Android ! Hiha !

 

image

Notre adresse

1 rue du guesclin
44000 Nantes

Notre téléphone

+33 2 79 65 52 87

Société

DevToBeCurious SARL
84860163900018 - Nantes B 848 601 639