Résolution des erreurs d’installation de la bibliothèque
Dans certains cas, vous pouvez rencontrer des erreurs lors de l’installation des bibliothèques de support Android. Ce guide fournit des solutions de contournement pour certaines erreurs courantes.
Vue d’ensemble
Lors de la création d’un projet d’application Xamarin.Android, vous pouvez obtenir des erreurs de génération lorsque Visual Studio ou Visual Studio pour Mac tenter de télécharger et d’installer des bibliothèques de dépendances. La plupart de ces erreurs sont causées par des problèmes de connectivité réseau, une altération des fichiers ou des problèmes de contrôle de version. Ce guide décrit les erreurs d’installation de bibliothèque de prise en charge les plus courantes et fournit les étapes permettant de contourner ces problèmes et d’obtenir à nouveau la génération de votre projet d’application.
Erreurs lors du téléchargement de m2Repository
Vous pouvez voir des erreurs m2repository lors du référencement d’un package NuGet des bibliothèques de support Android ou des services Google Play. Le message d’erreur est semblable au suivant :
Download failed. Please download https://dl-ssl.google.com/android/repository/android_m2repository_r16.zip and extract it to the C:\Users\mgm\AppData\Local\Xamarin\Android.Support.v4\22.2.1\content directory.
Cet exemple concerne android_m2repository_r16, mais vous pouvez voir ce même message d’erreur pour une autre version telle que android_m2repository_r18 ou android_m2repository_r25.
Récupération automatique à partir des erreurs m2repository
Souvent, ce problème peut être corrigé en supprimant la bibliothèque problématique et en régénéré en procédant comme suit :
Accédez au répertoire de la bibliothèque de support sur votre ordinateur :
Sur Windows, les bibliothèques de prise en charge se trouvent sur C :\Users\username\AppData\Local\Xamarin.
Sur Mac OS X, les bibliothèques de support se trouvent sur /Users/username/.local/share/Xamarin.
Recherchez la bibliothèque et le dossier de version correspondant au message d’erreur. Par exemple, le dossier bibliothèque et version du message d’erreur ci-dessus se trouve sur Android.Support.v4\22.2.1 :
Supprimez le contenu du dossier de version. Veillez à supprimer le fichier .zip ainsi que le contenu et les sous-répertoires incorporés dans ce dossier. Pour l’exemple de message d’erreur ci-dessus, les fichiers et sous-répertoires présentés dans cette capture d’écran (contenu, incorporé et android_m2repository_r16.zip) doivent être supprimés :
Notez qu’il est important de supprimer l’intégralité du contenu de ce dossier. Bien que ce dossier contienne initialement le fichier « manquant » android_m2repository_r16.zip , ce fichier a peut-être été partiellement téléchargé ou endommagé.
Regénérer le projet : cela entraîne le nouveau téléchargement de la bibliothèque manquante par le processus de génération.
Dans la plupart des cas, ces étapes résolvent l’erreur de génération et vous permettent de continuer. Si la suppression de cette bibliothèque ne résout pas l’erreur de génération, vous devez télécharger et installer manuellement le fichier android_m2repository_r_nn_.zip , comme décrit dans la section suivante.
Téléchargement manuel de m2repository
Si vous avez essayé d’utiliser les étapes de récupération automatique ci-dessus et que vous avez toujours des erreurs de génération, vous pouvez télécharger manuellement le fichier android_m2repository_r_nn_.zip (à l’aide d’un navigateur web) et l’installer en fonction des étapes suivantes. Cette procédure est également utile si vous n’avez pas accès à Internet sur votre ordinateur de développement, mais que vous pouvez télécharger l’archive à l’aide d’un autre ordinateur.
Téléchargez le fichier android_m2repository_r_nn_.zip qui correspond au message d’erreur : les liens sont fournis dans la liste suivante (ainsi que le hachage MD5 correspondant de l’URL de chaque lien) :
android_m2repository_r33.zip – 5FB756A25962361D17BBE9C3B3FCC44
android_m2repository_r32.zip – F16A3455987DBAE5783F058F19F7FCDF
android_m2repository_r31.zip – 99A8907CE2324316E754A95E4C2D786E
android_m2repository_r30.zip – 05AD180B8BDC7C21D6BCB94DDE7F2C8F
android_m2repository_r29.zip – 2A3A8A6D6826EF6CC653030E7D695C41
android_m2repository_r28.zip – 17BE247580748F1EDB72E9F374AA0223
android_m2repository_r27.zip – C9FD4FCD69D7D12B1D9DF076B7BE4E1C
android_m2repository_r26.zip – 8157FC1C311BB36420C1D8992AF54A4D
android_m2repository_r25.zip – 0B3F1796C97C707339FB13AE8507AF50
android_m2repository_r24.zip – 8E3C9EC713781EDFE1EFBC5974136BEA
android_m2repository_r23.zip – D5BB66B3640FD9B9C6362C9DB5AB0FE7
android_m2repository_r22.zip – 96659D653BDE0FAEDB818170891F2BB0
android_m2repository_r21.zip – CD3223F2EFE068A26682B9E9C4B6FBB5
android_m2repository_r20.zip – 650E58DF02DB1A832386FA4A2DE46B1A
android_m2repository_r19.zip – 263B062D6EFAA8AEE39E9460B8A5851A
android_m2repository_r18.zip – 25947AD38DCB4865ABEB61522FAFDA0E
android_m2repository_r17.zip – 49054774F44AE5F35A6BA9D3C117EFD8
android_m2repository_r16.zip – 0595E577D19D31708195A8308781EE6
Si l’archive m2repository n’est pas affichée dans ce tableau, vous pouvez créer l’URL de téléchargement en prepending
https://dl-ssl.google.com/android/repository/
to the name of the m2repository to download. Par exemple, utilisezhttps://dl-ssl.google.com/android/repository/android\_m2repository\_r_nn_.zip
pour télécharger android_m2repository_r_nn_.zip.Renommez le fichier en hachage MD5 correspondant de l’URL de téléchargement, comme indiqué dans le tableau ci-dessus. Par exemple, si vous avez téléchargé android_m2repository_r25.zip, renommez-le en 0B3F1796C97C707339FB13AE8507AF50.zip. Si le hachage MD5 pour l’URL de téléchargement du fichier téléchargé n’est pas affiché dans le tableau, vous pouvez utiliser un générateur MD5 en ligne pour convertir l’URL en chaîne de hachage MD5.
Copiez le fichier dans le dossier zips Xamarin :
Sur Windows, ce dossier se trouve dans C :\Users\username\AppData\Local\Xamarin\zips.
Sur Mac OS X, ce dossier se trouve sur /Users/username/.local/share/Xamarin/zips.
Par exemple, la capture d’écran suivante illustre le résultat lorsque android_m2repository_r16.zip est téléchargé et renommé en hachage MD5 de son URL de téléchargement sur Windows :
Si cette procédure ne résout pas l’erreur de génération, vous devez télécharger manuellement le fichier android_m2repository_r_nn_.zip , le décompresser et installer son contenu, comme décrit dans la section suivante.
Téléchargement manuel et installation des fichiers m2repository
Le processus entièrement manuel de récupération à partir d’erreurs m2repository implique de télécharger le fichier android_m2repository_r_nn_.zip (à l’aide d’un navigateur web), de le décompresser et de copier son contenu dans le répertoire de bibliothèque de support sur votre ordinateur. Dans l’exemple suivant, nous allons récupérer à partir de ce message d’erreur :
Unzipping failed. Please download https://dl-ssl.google.com/android/repository/android_m2repository_r25.zip and extract it to the C:\Users\mgm\AppData\Local\Xamarin\Android.Support.v4\23.1.1\content directory.
Procédez comme suit pour télécharger m2repository et installer son contenu :
Supprimez le contenu du dossier de bibliothèque correspondant au message d’erreur. Par exemple, dans le message d’erreur ci-dessus, vous supprimez le contenu de C :\Users\username\AppData\Local\Xamarin\Android.Support.v4\23.1.1.0. Comme décrit précédemment, vous devez supprimer l’intégralité du contenu de ce répertoire :
Téléchargez le fichier android_m2repository_r_nn_.zip à partir de Google qui correspond au message d’erreur (consultez le tableau de la section précédente pour obtenir des liens).
Extrayez cette archive .zip à n’importe quel emplacement (tel que le Bureau). Cela doit créer un répertoire qui correspond au nom de l’archive .zip . Dans ce répertoire, vous devez trouver un sous-répertoire appelé m2repository :
Dans le répertoire de bibliothèque versionné que vous avez vidé à l’étape 1, recréez le contenu et les sous-répertoires incorporés. Par exemple, la capture d’écran suivante illustre le contenu et les sous-répertoires incorporés créés dans le dossier 23.1.1.0 pour android_m2repository_r25.zip :
Copiez m2repository de l'.zip extraite dans le répertoire de contenu que vous avez créé à l’étape précédente :
Dans le répertoire .zip extrait, accédez à m2repository\com\android\support\support-v4 et ouvrez le dossier correspondant au numéro de version créé ci-dessus (dans cet exemple, 23.1.1) :
Copiez tous les fichiers de ce dossier dans le répertoire incorporé créé à l’étape 4 :
Vérifiez que tous les fichiers sont copiés. Le répertoire incorporé doit maintenant contenir des fichiers tels que .jar, .aar et .pom.
Décompressez le contenu de tous les fichiers .aar extraits dans le répertoire incorporé. Sur Windows, ajoutez une extension .zip au fichier .aar , ouvrez-le et copiez le contenu dans le répertoire incorporé . Sur macOS, décompressez le fichier .aar à l’aide de la commande décompresser dans le terminal (par exemple, unzip file.aar).
À ce stade, vous avez installé manuellement les composants manquants et votre projet doit générer sans erreur. Si ce n’est pas le cas, vérifiez que vous avez téléchargé la version d’archive .zip m2repository qui correspond exactement à la version du message d’erreur et vérifiez que vous avez installé son contenu dans les emplacements appropriés, comme décrit dans les étapes ci-dessus.
Résumé
Cet article explique comment récupérer des erreurs courantes qui peuvent se produire pendant le téléchargement et l’installation automatiques des bibliothèques de dépendances. Il a décrit comment supprimer la bibliothèque problématique et reconstruire le projet comme moyen de recharger et de réinstaller la bibliothèque. Il a décrit comment télécharger la bibliothèque et l’installer dans le dossier zips . Il a également décrit une procédure plus impliquée pour télécharger et installer manuellement les fichiers nécessaires pour contourner les problèmes qui ne peuvent pas être résolus via des moyens automatiques.