Installation des outils de Xamarin avec des configurations exotiques – partie 1

Après quelques mois de silence blogistique (mais pas d’inactivité professionnelle, rassurez-vous), je suis de retour sur mon blog technique.

Et comme cadeau pour les fêtes de fin d’année, j’ai décidé de compiler les solutions à différents tracas rencontrés lors de la configuration d’un poste de développement pour utiliser les outils de Xamarin (http://www.xamarin.com).

Pour ceux qui ne connaîtraient pas Xamarin, cette société s’est spécialisée dans l’édition d’outils de développement .Net (éditeur, framework, clr) visant les plateformes sur lesquelles Microsoft ne propose pas de solutions officielles .Net :

  • iOs (iPhone, iPad, iPod)
  • Mac OS
  • Android

La relation entre Xamarin et Microsoft a été fluctuante aux fils des années, mais en 2013 un partenariat officiel a ‘enfin’ été signé entre les 2 sociétés : http://blog.xamarin.com/microsoft-and-xamarin-partner-globally/

Tout d’abord, soyons honnête, la plupart des tracas rencontrés ne concernent pas les outils de Xamarin mais les frameworks, sdk, outils tiers nécessaires ou device de développement.

Dans cette première série de billets, je vais me concentrer sur la configuration pour du développement ciblant Android. La configuration logicielle initiale (entièrement à jour au niveau des correctifs et updates) est :

  • Windows 8.1 FR 64 bits
  • Visual Studio 2013
  • Visual Studio 2010

L’installeur de Xamarin se charge d’installer l’ensemble des dépendances logicielles nécessaires :

  • JDK
  • Android SDK
  • MonoDroid (.Net pour Android)
  • MonoTouch (.Net pour iOs)
  • Xamarin Studio (environnement de développement ‘Visual Studio like’, disponible aussi sur Mac)
  • Extension de développement pour Visual Studio (développement Android & iOs)

L’utilisation d’un device physique quand on fait du développement Android sous Windows est importante. En effet, l’émulateur Android fournit par Google n’a jamais été réellement optimisé pour Windows et les émulations sont catastrophique de lenteur.

Les devices de développement

Précision utile : l’utilisation de device physique (téléphone ou tablette) pour le développement avec les outils de Xamarin nécessite une licence, la version d’évaluation ou gratuite ne permet que l’utilisation des émulateurs fournit par les SDKs, et ne permet pas le packaging pour le déploiement sur la différentes place de marché mobile.

Actuellement, j’utilise 2 périphériques physiques Android (un téléphone ‘ancien’, une tablette ‘grand public’ et ‘bas de gamme’) non rooté. Dans le cadre de développement grand public, il est néanmoins judicieux d’avoir un échantillon plus fournit à cause du foisonnement des systèmes tournant sous Android et leur grand variété. Ces 2 devices ne sont pas des bêtes de courses, mais l’avantage c’est qu’ils sont ‘représentatifs’ de la tranche basse (puissance ou version d’os) de ce que l’on peut trouver sur le marché grand public. Dans mon cas, il s’agit :

  • téléphone HTC Wildfire S A510e (équipe d’Android 2.3.5) certifié Google avec le PlayStore officiel
  • tablette ‘Carrefour’ CT705 (Android 4.0.3) sans Google Playstore mais avec le store GetJar

Les 2 devices sont configurés pour permettre le développement : le débogage est activé (option dans la configuration de votre device Android), le port USB est configuré pour la charge uniquement.

L’installation des outils de Xamarin s’étant déroulée sans soucis (prévoir quelques 2go de téléchargement si vous partez d’une machine vierge). Un petit projet de test pour Android est créé et lancé dans l’émulateur Android. Tout marche bien.

C’est lorsque j’ai tenté un debug sur le device que les soucis ont commencé : non reconnaissance des devices par Windows malgré le SDK Android installé. De fait, adb (l’outils du sdk Android utilisé en arrière-plan pour dialoguer avec un device Android pour du debug) ne voit pas les devices.

Driver Android pour le développement

Symptôme et explication :

Dans le cas du HTC Wildfire S, Windows 8.1 détecte bien un ‘Android Phone’ mais ne trouve pas le driver correspondant, y compris en effectuant une recherche sur Windows Update.

Résolution :

Apres plusieurs tentatives, la solution la plus fiable et la seule systématiquement reproductible consiste à installer les drivers Intel pour les périphériques Android. Bien que décrit comme ciblant les plateformes Android à base de processeur Atom, ces drivers fonctionnent très bien avec les architectures Arm (cas du Wildfire et de la tablette).

Autre soucis, l’installation de ces drivers sous Windows 8.1 échoue car l’installation ne reconnait pas la version de Windows. La solution consiste à lancer l’installation en forcant la compatibilité avec Windows XP SP3.

Marche à suivre :

clip_image002

  • Lancez ensuite l’installation en mode Administrateur
  • L’installation doit se dérouler sans soucis.
  • Connectez maintenant votre périphérique Android en USB. Windows le détecte mais le driver n’est toujours pas chargé.
  • Ouvrez le gestionnaire d’ordinateur (Explorateur de fichiers, puis bouton « Gérer » dans le ruban) et sélectionnez « Gestionnaire de périphérique » dans l’arborescence), votre périphérique doit apparaitre dans la branche « Autres périphériques » :

clip_image004

  • Faites un clic droit sur « Android Phone », sélectionnez « Mettre à jour le pilote »
  • Dans la fenêtre qui apparait, sélectionnez la 2e option « Rechercher un pilote sur mon ordinateur », puis cliquez sur « Choisir parmi une liste de pilotes de périphériques sur mon ordinateur »
  • Sélectionnez « Android Phone », puis « Android Composite ADB Interface », puis « Suivant »

clip_image006 clip_image008

  • Confirmez l’installation du driver si Windows vous affiche un « avertissement de mise à jour de pilote » : Windows effectue l’installation.
  • Un fois l’installation effectuée, le gestionnaire de périphériques affiche maintenant votre device dans la branche « Android Phone » sous le nom générique du driver.

clip_image010

  • Relancez Visual Studio , ouvrez ou créez un projet Android.
  • Dans la barre d’outils Xamarin, la liste déroulante des cibles de debug vous proposera maintenant votre device physique en plus des images pour de l’émulateur.

clip_image012

Cette procédure devrait marcher pour la plupart des device Android quelques soit leur fabricant. Néanmoins le marché android étant fortement éclaté entre de multiples acteurs de source et de qualité très variables, il n’est pas rare que l’étape décrite ci-avant ne soit pas suffisante, et Visual Studio ne vous listera pas votre périphérique comme cible d’un débogage. Ce risque est d’autant plus grand que le périphérique est d’origine « exotique » (cas de ma tablette MarqueDeDistributeur, fabriqué en chine et revendu sous la marque du distributeur).

La résolution de ces soucis de détection sera traitée dans le billet suivant qui sortira dans les prochains jours.

Affaire à suivre …

Catégories:.NET, Mobilité

Visual Studio 2010 n’arrive pas à attacher son débugger à Internet Explorer 10

Depuis le déploiement d’Internet Explorer 10 via Microsoft Update, Visual Studio 2010 n’arrive plus à s’attacher à l’instance d’IE lors du debug de projet Web.

“Attached the Script debugger to process ‘[xxxx] iexplore.exe’ on machine ‘YYYY’ failed. A debugger is already attached.”

Ce n’est pas critique, mais il n’est plus possible de débugger le script qui tourne dans le navigateur, et vu l’omniprésence de jQuery et autres plugins ou framework javascript ca peut être gênant pour le développeur.

En fait, il s’agit juste d’un petit soucis d’enregistrement d’une DLL … qu’il suffit de réenregistrer pour tout remettre d’aplomb : Dans une ligne de commande lancée en tant qu’Administrateur , exécutez la ligne suivante :

regsvr32.exe "%ProgramFiles(x86)%\Common Files\Microsoft Shared\VS7Debug\msdbg2.dll

et tout rentrera dans l’ordre.

Catégories:Visual Studio Mots-clés : , , ,

Un datacenter en container Made by Microsoft for Azure

Wired vient de publier quelques (trop) rares photos d’un DataCenter Windows Azure à base de container : http://www.wired.com/wiredenterprise/2013/02/boydton/ . Il s’agit du datacenter de Boydton en Virginie (USA) ouvert l’an dernier.

Chaque container est bien un “mini DataCenter in a box”.

Cette vision des datacenters à base de container est très bien expliquée dans la petite vidéo suivante :

 

D’autre Datacenter Azure sont d’une architecture plus classique. Ainsi, en Europe, les datacenters reste des équipements d’architecture plus ‘classique’ :
le datacenter Windows Azure de Dublin (Irlande).
Catégories:Windows Azure Mots-clés : ,

Explication des soucis Azure Storage du 29/12/2012 (South US Region)

Le 29 décembre 2012, Microsoft à eu un soucis avec le service de stockage d’Azure. Contrairement au bug du 29 février, ce soucis a été relativement limité et concernait uniquement une ‘petite’ partie d’Azure Storage de la région “South US”.

Comme lors du précédent incident significatif (voir mon post “Azure – le bug du 29 février expliqué dans le détail !”) Microsoft a choisi de communiquer sur le problème, d’expliquer le soucis, la cause et le remède appliqué.

L’article en détail est ici : http://blogs.msdn.com/b/windowsazure/archive/2013/01/16/details-of-the-december-28th-2012-windows-azure-storage-disruption-in-us-south.aspx

Pour ceux qui ne veulent que le résumé, les causes sont :

  1. Une erreur humaine qui a désactivé des mécanismes de protection lors d’une modification de la configuration d’un nœud de stockage.
  2. Le système de monitoring avait un bug qui a empêcher le déclenchement des alertes et l’escalade .
  3. Une migration du nœud de stockage concerné vers un nouveau nœud à été déclenché le 28/12 à 7:09PST. L’erreur de configuration a permit un formatage de certains disques lors de la création du nouveau nœud alors qu’ils auraient du être préservé.

Pour le détail des procédures de récupération, je vous conseille vivement de lire le billet d’origine qui est très détaillé.

Catégories:Windows Azure Mots-clés : , ,

Team Foundation Service (ex tfspreview.com) et l’erreur TF30063

Je viens de me frotter à l’erreur TF30063 (“you are not authorized to access https://xxxx.visualstudio.com/defaultcollection.") remonté par Visual Studio (2010 et 2012) lorsque je tentai de me connecter à un TeamProject présent dans mon server TFS hosté dans azure (visualstudio.com).

Ce problème est apparu assez subitement et simultanément sur mon poste W8/VS2012 et W7/VS2010. Je n’ai pas identifié l’origine exacte du soucis.

Quoi qu’il en soit la cause du refus d’authentification à l’air lié à la présence d’un cookie d’authentification LiveID qui reste dans le cache.

La suppression des cookies au niveau d’Internet Explorer n’a rien donné, l’erreur se produisait toujours.  La déconnexion explicite de mon LiveID à partir de mon navigateur n’a pas mieux marché.

En fait, il faut bien se déconnecter de LiveId … mais à partir d’un navigateur qui tourne DANS VISUAL STUDIO !!! La marche à suivre est donc la suivante :

  • lancez votre VisualStudio (2010 ou 2012)
  • ouvrez un navigateur via le menu “View / Other window / Web Browser”
  • naviguez sur live.com et deconnectez vous.
  • naviguez sur VOTRESERVEUR.visualstudio.com (si par hasard vous êtes connecté automatiquement déconnectez vous explicitement de votre server TFS en cliquant sur votre login en haute à droit de la page web, puis “Sign out”).
  • reconnectez vous avec votre LiveID qui dispose des droits dans le serveur TFS.

Voilà, ca vous évitera de perdre de précieuses minutes de codage pour une simple histoire de gâteau. A la place, prenez une pause café … avec un cookie c’est délicieux.

Catégories:Visual Studio Mots-clés : , ,

2013 …

Comme il se doit, c’est très sincèrement que je vous souhaite une très bonne et heureuse année 2013. Qu’elle soit porteuse de réussites personnelles et professionnelles.

Nicolas.

Catégories:Non classé

TrainEnPoche pour Windows 8 et Windows RT

QuidMind vient de publier la version Windows 8 de Train En Poche.

Nativement conçu pour le nouvel OS de Microsoft, Train En Poche est compatible Windows 8 (sur processeur Intel) et Windows RT (sur processeur ARM).

Donc , n’hésitez pas ! Que vous soyez possesseur d’une tablette Surface, d’un Netbook, d’un laptop ou d’une bête de guerre équipé de Windows 8 ….

Le téléchargement de Train en Poche est par là : http://apps.microsoft.com/windows/fr-FR/app/train-en-poche/193f5488-bcfb-401d-8bf9-108b93a47d6c

La version pour Windows Phone 7 est toujours disponible ici : http://www.windowsphone.com/fr-fr/store/app/train-en-poche/80111080-06ac-e011-a53c-78e7d1fa76f8

Catégories:Windows 8 Mots-clés : , ,
Suivre

Recevez les nouvelles publications par mail.