Partage via


Comment installer manuellement les bibliothèques de prise en charge Android requises par les packages Xamarin.Android.Support ?

Exemples d’étapes pour Xamarin.Android.Support.v4

Téléchargez le package NuGet Xamarin.Android.Support souhaité (par exemple, en l’installant avec le gestionnaire de package NuGet).

Permet ildasm de case activée quelle version de android_m2repository.zip le package NuGet a besoin :

ildasm /caverbal /text /item:Xamarin.Android.Support.v4 packages\Xamarin.Android.Support.v4.23.4.0.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll | findstr SourceUrl

Exemple de sortie :

property string 'SourceUrl' = string('https://dl-ssl.google.com/android/repository/android_m2repository_r32.zip')
property string 'SourceUrl' = string('https://dl-ssl.google.com/android/repository/android_m2repository_r32.zip')
property string 'SourceUrl' = string('https://dl-ssl.google.com/android/repository/android_m2repository_r32.zip')

Téléchargez android_m2repository.zip à partir de Google à l’aide de l’URL retournée par ildasm. Vous pouvez également case activée quelle version du référentiel de support Android que vous avez actuellement installée dans le Gestionnaire du Kit de développement logiciel (SDK) Android :

Si la version correspond à celle dont vous avez besoin pour le package NuGet, vous n’avez pas besoin de télécharger quoi que ce soit de nouveau. Vous pouvez à la place compresser à nouveau le répertoire m2repository existant qui se trouve sous extras\android dans le chemin du SDK (comme indiqué en haut de la fenêtre Gestionnaire du SDK Android).

Calculez le hachage MD5 de l’URL retournée par ildasm. Mettez en forme la chaîne résultante pour utiliser toutes les lettres majuscules et aucun espace. Par exemple, ajustez la $url variable en fonction des besoins, puis exécutez les 2 lignes suivantes (en fonction du code C# d’origine à partir de Xamarin.Android) dans PowerShell :

$url = "https://dl-ssl.google.com/android/repository/android_m2repository_r32.zip"
(([System.Security.Cryptography.MD5]::Create()).ComputeHash([System.Text.Encoding]::UTF8.GetBytes($url)) | %{ $_.ToString("X02") }) -join ""

Exemple de sortie :

F16A3455987DBAE5783F058F19F7FCDF

Copiez android_m2repository.zip dans le dossier %LOCALAPPDATA%\Xamarin\zips\ . Renommez le fichier pour utiliser le hachage MD5 de l’étape de calcul de hachage MD5 précédente. Par exemple :

%LOCALAPPDATA%\Xamarin\zips\F16A3455987DBAE5783F058F19F7FCDF.zip

(Facultatif) Décompressez le fichier dans %LOCALAPPDATA%\Xamarin\Xamarin.Android.Support.v4\23.4.0.0\content\ (création d’un sous-répertoire content\m2repository ). Si vous ignorez cette étape, la première build qui utilise la bibliothèque prendra un peu plus de temps, car elle devra effectuer cette étape. Le numéro de version du sous-répertoire (23.4.0.0 dans cet exemple) n’est pas tout à fait identique à la version du package NuGet. Vous pouvez utiliser ildasm pour rechercher le numéro de version approprié :

ildasm /caverbal /text /item:Xamarin.Android.Support.v4 packages\Xamarin.Android.Support.v4.23.4.0.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll | findstr /C:"string 'Version'"

Exemple de sortie :

property string 'Version' = string('23.4.0.0')}
property string 'Version' = string('23.4.0.0')}
property string 'Version' = string('23.4.0.0')}

Étapes suivantes

Ce document traite du comportement actuel à compter d’août 2016. La technique décrite dans ce document ne fait pas partie de la suite de tests stables pour Xamarin, afin qu’elle puisse s’arrêter à l’avenir.

Pour obtenir de l’aide supplémentaire, contactez-nous ou si ce problème reste même après avoir utilisé les informations ci-dessus, consultez quelles options de support sont disponibles pour Xamarin ? pour plus d’informations sur les options de contact, les suggestions, ainsi que la façon de déposer un nouveau bogue si nécessaire.