Affichage des articles dont le libellé est Android. Afficher tous les articles
Affichage des articles dont le libellé est Android. Afficher tous les articles

Développement d'applications avec Xamarin sous Visual Studio 2017

Je poursuis ma quête de développement d'applications multiplateformes avec Xamarin sous Visual Studio. Quand je vois les évolutions de ce Framework de développement, je plains ceux qui se sont lancé trop tôt tellement les choses ont changées et se sont stabilisées.

La fois précédente nous étions avec Windows 10 je prends mes travaux avec une machine de développement sous Windows 7 à priori pour l'instant pas de sous d'installation.

Prenons quelques notes de l'installeur :

Développement mobile en .NET iOS Android et Windows avec Xamarin
Développement mobile en .NET iOS Android et Windows avec Xamarin




C'est toujours bon de prendre des notes, ces choses changent tellement vite, on peut comparer avec la fois précédente.

Visual Studio 15.7.5

Fichiers -> Nouveau -> Projet :

New Project Xamarin Forms

Et on va créer une Cross-Platform Application mobile (Xamarin.Forms) comme précédemment seulement au moment de lancer l'application :




Pas d'emulateur d'Android
Pas d'emulateur d'Android
On est tout nu. Il faut réinstaller tout le bordel ...



Android Device Manager ...
Android Device Manager ...
Bon je reprends depuis mon article précédent et je réinstalle l'Android NDK. Je sais pas trop pourquoi.

Ca ne change rien par d'emulateur Android ....

J'exécute l'Android Device Manager puis bouton droit "Down system image" et ça continue nouvel installation ... c'est vraiment long.


Android Device Manager - Download System Image
Android Device Manager - Download System Image
Nougat 7.1 ça y ressemble cette c'est peut être bon ...
Il me faut quitter Visual Studio pour relancer :


Installation Android SDK
Installation Android SDK
Cette fois notre application Android peut démarrer dans l'émulateur :

Installation de L'Emulateur Android
Encore une ou deux bricoles :



Android Emulateur Recommended AVD
Android Emulateur Recommended AVD
Et oui, il ne fallait pas choisir ARM mais x86_64 ...

C'est reparti :

Android Download System Image
Android Download System Image
Mais cela ne suffit pas, vous l'avez compris on est revenu aux erreurs et aux affres de l'installation des émulateur Android et autres trucs qui ne fonctionnent pas du tout sous Windows 7 !

Pour vérifier, ouvrir le Android Device Manager et lancer l'emulateur par le bouton Start :



Xamarin pour Windows 7 ça ne fonctionne pas du tout !

On tombe dans les affres des différences qu'il y a entre Windows 7 et Windows 10.

MSDN Android Hardware Acceleration
Intel Hardware Accelerated Execution Manager

Installing using Android SDK Manager ...


Installation de HAXM par l'Android SDK Manager
Pu(bip) j'ai trouvé non sans mal :


Install Intel x86 Emulator Accelarator (HAXM installer)
Install Intel x86 Emulator Accelarator (HAXM installer)
Je relance Visual Studio, je relance mon application dans l'émulateur et devinez quoi ... Ca marche pas !!! Et bien non, il faut encore exécuter l'installeur de HAXM. Et où qu'il est l'installateur ?? Où qu'il est ?

Installateur de l'Intel HAXM

Il est là l'installateur :

C:\Program Files (x86)\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

Installateur HAXM d'Intel pour Android
Installateur HAXM d'Intel pour Android

Installateur HAXM d'Intel pour Android - Etape 1
Installateur HAXM d'Intel pour Android - Etape 2
A chaque fois, je quitte Visual et je le relance par précaution. Et cette fois vous croyez que ça va fonctionner ... suspense ...

Et bien NON !!!! ????? ERROR : Encryption unsuccessful



Install de HAXM d'Intel ne suffit pas !
Install de HAXM d'Intel ne suffit pas !
Perform a factory reset ! Et quoi encore, y'en a pas marre de tous ces trucs qui ne fonctionne pas !

Allé allons-y pour un petit factory reset vous vous souvenez où cela se trouve ? Voici :

Perform a factory reset sur l'Emulator Device
Du coup je lance mon émulateur à la main et ça y est enfin :


Exécution de l'Emulator Android après l'installation de l'Intel HAXM

Je vois la page d'accueil de l'OS Android sur l'émulateur.
Mais au lancement de l'application en exécution dans l'émulateur :



Visual Studio 2017 Xamarin et Windows 7 ça sens la mauvaise installation ...
Visual Studio 2017 Xamarin et Windows 7 ça sens la mauvaise installation ...
ERROR !

Gravité Code Description Projet Fichier Ligne État de la suppression
Erreur  Impossible de charger la tâche "Xamarin.Forms.Build.Tasks.GetTasksAbi" à partir de l'assembly D:\Users\Braby\.nuget\packages\xamarin.forms\3.0.0.561731\build\netstandard2.0\Xamarin.Forms.Build.Tasks.dll.
Impossible de charger le fichier ou l'assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' ou une de ses dépendances. Le fichier spécifié est introuvable. Assurez-vous que la déclaration <UsingTask> est correcte, que l'assembly et toutes ses dépendances sont disponibles et que la tâche contient une classe publique qui implémente Microsoft.Build.Framework.ITask. XamarinApp1.Android

Solution

Quand je vois tout ce qui est installé sur cette machine, je me dis que cela ne peut pas fonctionner, il faut nettoyer l'installation. Vous imaginez bien me je me suis battu avec ce truc, je suis passé par l'installation d'un outil pour Cleaner les versions du .NET Framework qui a finalement cassé les différentes versions.

Il y a avait deux problèmes sur ma machine :

1 - Mise à jour Windows Update - Echec

Une maj concernant une les différentes versions du .NET Framework n'avait pas pu s'effectuer, s'était déroulée avec une erreur :

2018-08 Correctif cumulatif de sécurité et de qualité .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1 et 4.7.2 pour Windows 7 et Server 2008 R2 pour systèmes x64 (KB4345590)
État de l'installation : Échec
Détails de l'erreur : Code 643

Casser les versions puis les réinstaller d'abord le 4.0 Client puis le 4.5 puis le 4.6 ... c'est l'outil dotnetfx_cleanup_tool qui m'a permis de faire tout cela.

2 - Mise à jour de Visual Studio 2017 avec l'installeur

Mise à jour de Visual Studio v15.5.1vers Visual Studio 15.18.1

Et c'est mis à fonctionner comme par miracle ... Voici ma première application XamarinForm1 sous Windows 7 :


Ma première application avec Xamarin - Windows 7 - Visual Studio 2017 15.8.1
Ma première application avec Xamarin - Windows 7 - Visual Studio 2017 15.8.1
C'est bientôt les vacances, oui moi je pars bientôt ... Je vous laisse n'hésitez pas laissez moi un petit commentaire ici ou sur un autre post.

Have fun !

Ma deuxième application avec Xamarin sous Visual Studio 2017

J'ai beaucoup travaillé avec Xamarin sans résultat vraiment probant. Alors oui c'est un peu provocateur mais je le sens bien comme ça cette fois je repars avec Windows 10 et je crois que c'est le clou de ma réussite.

Je dirais qu'il y a des amélioration hardware, oui hardware, entre Windows 7 et Windows 8.1 et donc avec Windows 10 et elles font que toute la chaîne de développement Xamarin fonctionne enfin correctement avec Windows 10 mais pas correctement avec Windows 7.

Je commence par le commencement :

https://docs.microsoft.com/fr-fr/xamarin/cross-platform/get-started/requirements#install

Installation de Visual Studio 2017

Puis, j'installe Visual Studio 2017 :

Visual Studio 2017 - Installation

Whaou, toutes ces options ... je choisie uniquement "Développement mobile en .NET".

Je vois dans la colonne de gauche toutes les options qui sont ainsi choisies avec cette option de développement mobile en .NET.

Visual Studio 2017

Et puis j'installe Visual Studio 2017. Et oh ? Alors ! Encore un petit redémarrage ...

Visual Studio 2017

Installe de Visual Studio 2017 sur Windows 10 - Encore un petit redémarrage.

Visual Studio 2017 - Menu Démarrer


Voici les Icônes du menu démarré. L'installer qui va permettre de modifier les options d'installation de Visual Studio. Le Debuggable package Manager quésaco ? Encore un gestionnaire de packages ?

Lancement de Visual Studio 2017

Tout de suite on se rend dans les Templates de projets en créant un nouveau projet dans le menu Fichier -> Nouveau projet :

Mobie App (Xamarin.Forms)

Je suis surpris par l'endroit proposé pour sauver mon projet dans "repos" comme "repository" alors que l'installe de Visual Studio a créée un tas de répertoire sur mon disque :

Visual Studio 2017

Application Xamarin Forms

Création de ma première Application Xamarin.Forms :

Visual Studio 2017

New Cross Platform App

Voici les options qui se présentent à moi :

Mobile App Xamarin Forms - Options
  • Shared Project
  • .NET Standard
Ce n'est pas la moindre des options si vous cliquez sur le point d’interrogation, vous découvrez un monde.Il vous faut choisir entre le Projet partagé permet d'utiliser des directives de compilations pour les différentes plateformes :
  • iOS app
  • Android App
  • Windows App
Bibliothèques de classes portables ou Bibliothèques .NET standards où l'on ne peut pas utiliser les directives de compilation.

Je choisie : .NET Standard et toutes les plateformes et Master Detail autant avoir un template un un peu étoffé je clique sur Ok et là c'est le drame. Le développement est tellement imbriqué avec Windows 10 que le Panneau de configuration s'est ouvert pour me permettre de choisir encore des options ...

Options de Windows 10 pour faire du développement mobile
C'est la folie à quoi peuvent bien servir toutes ces options ...

Windows 10 Options pour les développeurs et pour Xamarin

Voilà, je suis démasqué, j'avoue oui j'essaye de développer une application mobile ... avec Xamarin mais je trouve cela un peu fastidieux !

Windows 10 Options pour les développeurs - 2

Et encore et encore des options ...

Windows 10 Options pour les développeurs -3

Pendant ce temps Visual Studio s'y mets aussi en m'indiquant que mon application App1 a été modifiée en dehors de l'environnement. Recharger !

Visual Studio pour une application Mobile

Le projet Visual Studio Xamarin.Froms est créé

Voici le projet avec les déclinaison de plateformes :

Projet Visual Studio Xamarin Forms pour les plateforme iOS Android et ...

Exécution de l'application Xamarin Forms

Je vais tout de suite lancer l'exécution de l'application Xamarin Forms pour évaluer le niveau du simulateur et je choisie Android.

Quel choix de simulateur ?

Visual Studio 2017
Visual Studio 2017

Cela va t-il fonctionner ?

Je clique sur Exécuter une petite icône s'affiche :

Emulateur Android pour Windows 10

Et puis un magnifique Simulateur d'Android sur ma plateforme Windows 10 :/p>

Ecran d'accueil du simulateur Android pour Windows 10

En cliquant sur le petit triangle flèche en haut j'accède aux applications. Mon application App1 se trouve en bonne place au milieu de tout cela :

Application Xamarin Forms sous simulateur Android avec Windows 10

En cliquant sur l'icône j'accède à mon application :

Application Xamarin Forms sous simulateur Android avec Windows 10
Pour jouer un peu, je clique sur l'onglet numéro 2 :

Application Xamarin Forms
Application Xamarin Forms

Voilà, il me reste à écrire mon propre code ou à plutôt à apprendre comment développer une application Mobile sur Android. Mais ça fonctionne assez simplement une preuve de plus qu'il ne faut même pas essayer avec Windows 7 (cf. mon article précédent) avec lequel cela ne fonctionne pas du tout !

Deux secondes après tentant de stopper l'exécution de l'application, c'est le crash !

Application Xamarin Forms
Visual Studio Xamarin Application Mobile

Arrggg ! C'est vraiment toujours la même m.. (bip)

Je modifie un peu le code pour être bien sûr que c'est mon application qui s'exécute sur le simulateur Android ... Et bientôt voici mon premier résultat :

Application Xamarin Forms
Je modifie mon application Xamarin Forms

Dans le fichier :

\\Visual Studio 2017\Templates\Xamarin\App1\App1\App1\Services\MockDataStore.cs

En cliquant sur le premier Item :

Application Xamarin Forms
Mon Application Mobile en Xamarin Forms

Voilà, je reconnais le texte que j'ai mis dans le code. C'est tout pour le moment et c'est, je le répète une dernière fois, plus prometteur qu'avec Windows 7 !

Vérifier votre environnement Xamarin

Cela semble une chose importante en effet que de vérifier son environnement alors allons y. Le site MSDN n'est pas très graphique et cela fait pas de mal de comparer ce que j'ai sur ma plateforme de développement dans Outils -> Options ... :

Visual Studio 2017
Visual Studio 2017 - Outils ->Options...

Descendre vers Xamarin :

Visual Studio 2017
Xamarin Vérifier votre environnement

Les paramètres Android :

Visual Studio 2017
Xamarin Vérifier votre environnement - Les paramètres Android

Et pour info, je prends également une photo des paramètres iOS que voici :

Xamarin Vérifier votre environnement - Les paramètres iOS

Au passage je constate que je n'ai pas le NDK d'Android d'installé ... et je me demande bien pourquoi.

L'installation n'est pas terminée il faut aller dans le Menu Outils->Android->Getionnaire Android SDK :

Gestionnaire Android SDK

Gestionnaire pour les plateformes :

Plateforme Android  7.1 - Nougat

Et pour les outils :

Plateforme Android Outils

Installation du Android NDK

Du coup j'ai bien envie de cocher le NDK juste pour compléter mon installation.

Installation de l'Android NDK

Et il faut accepter la licence pas le choix c'est certainement pour cela que cet install n'est pas comprise dans l'install globale : pour des raisons de licence :

Installation de l'Android NDK - Licence

Il faut noter que 'il faut relancer Visual Studio 2017 pour voir le résultat dans : Options-> Xamarin-> Paramètre Android

Configuration Android Ok avec le NDK Android

Pas mal non, cette fois c'est cool ! C'est un peu long, un peu laborieux mais cette fois on est sûr d'avoir ce qu'il faut pour développer avec Xamarin sous Windows 10.

Bientôt ce sera le temps d'aller à la plage ...