Resolución de errores de instalación de biblioteca
En algunos casos, puede obtener errores durante la instalación de bibliotecas de compatibilidad de Android. En esta guía se proporcionan soluciones alternativas a algunos errores habituales.
Información general
Al compilar un proyecto de aplicación Xamarin.Android, puede obtener errores de compilación cuando Visual Studio o Visual Studio para Mac intenten descargar e instalar bibliotecas de dependencia. Muchos de estos errores se deben a problemas de conectividad de red, archivos dañados o problemas de versiones. En esta guía se describen los errores de instalación de biblioteca de compatibilidad más habituales y se proporcionan los pasos para solucionar estos problemas y obtener de nuevo su compilación de proyectos de aplicación.
Errores al descargar m2Repository
Es posible que vea errores m2repository al hacer referencia a un paquete NuGet de las bibliotecas de compatibilidad de Android o los servicios de Google Play. El mensaje de error es similar al siguiente:
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.
Este ejemplo es para android_m2repository_r16, pero es posible que vea este mismo mensaje de error para una versión diferente, como android_m2repository_r18 o android_m2repository_r25.
Recuperación automática de errores m2repository
A menudo, este problema se puede solucionar eliminando la biblioteca problemática y recompilando según estos pasos:
Vaya al directorio de bibliotecas de compatibilidad del equipo:
En Windows, las bibliotecas de soporte técnico se encuentran en C:\Users\nombre de usuario\AppData\Local\Xamarin.
En Mac OS X, las bibliotecas de compatibilidad se encuentran en /Users/username/.local/share/Xamarin.
Busque la carpeta de versión y biblioteca correspondiente al mensaje de error. Por ejemplo, la carpeta biblioteca y versión del mensaje de error anterior se encuentra en Android.Support.v4\22.2.1:
Elimine el contenido de la carpeta de versión. Asegúrese de quitar el archivo .zip, así como los subdirectorios content y embedded de esta carpeta. Para obtener el mensaje de error de ejemplo mostrado anteriormente, los archivos y subdirectorios mostrados en esta captura de pantalla (content, embedded y android_m2repository_r16.zip) se van a eliminar:
Tenga en cuenta que es importante eliminar todo el contenido de esta carpeta. Aunque esta carpeta puede contener inicialmente el archivo "falta" android_m2repository_r16.zip, es posible que este archivo se haya descargado o dañado parcialmente.
Vuelva a generar el proyecto, lo que hará que el proceso de compilación vuelva a descargar la biblioteca que falta.
En la mayoría de los casos, estos pasos resolverán el error de compilación y le permitirán continuar. Si la eliminación de esta biblioteca no resuelve el error de compilación, debe descargar e instalar manualmente el archivo android_m2repository_r_nn_.zip como se describe en la sección siguiente.
Descarga manual de m2repository
Si ha intentado usar los pasos de recuperación automática anteriores y sigue teniendo errores de compilación, puede descargar manualmente el archivo android_m2repository_r_nn_.zip (mediante un explorador web) e instalarlo según los pasos siguientes. Este procedimiento también es útil si no tiene acceso a Internet en su equipo de desarrollo, pero puede descargar el archivo con otro equipo.
Descargue el archivo android_m2repository_r_nn_.zip que corresponde a los vínculos del mensaje de error se proporcionan en la lista siguiente (junto con el hash MD5 correspondiente de la dirección URL de cada vínculo):
android_m2repository_r33.zip – 5FB756A25962361D17BBE99C3B3FCC44
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 – 0595E577D19D31708195A83087881EE6
Si el archivo m2repository no se muestra en esta tabla, puede crear la dirección URL de descarga anteponiendo
https://dl-ssl.google.com/android/repository/
al nombre del archivo m2repository que se va a descargar. Por ejemplo, usehttps://dl-ssl.google.com/android/repository/android\_m2repository\_r_nn_.zip
para descargar android_m2repository_r_nn_.zip.Cambie el nombre del archivo por el hash MD5 correspondiente de la dirección URL de descarga como se muestra en la tabla anterior. Por ejemplo, si descargó android_m2repository_r25.zip, cambie el nombre a 0B3F1796C97C707339FB13AE8507AF50.zip. Si el hash MD5 de la dirección URL de descarga no se muestra en la tabla, puede usar un generador de MD5 en línea para convertir la dirección URL en una cadena de hash MD5.
Copie el archivo en la carpeta zips de Xamarin:
En Windows, esta carpeta se encuentra en C:\Users\nombre de usuario\AppData\Local\Xamarin\zips.
En Mac OS X, esta carpeta se encuentra en /Users/username/.local/share/Xamarin/zips.
Por ejemplo, en la captura de pantalla siguiente se muestra el resultado cuando se descarga android_m2repository_r16.zip y se cambia el nombre al hash MD5 de su dirección URL de descarga en Windows:
Si este procedimiento no resuelve el error de compilación, debe descargar manualmente el archivo android_m2repository_r_nn_.zip, descomprimirlo e instalar su contenido como se describe en la sección siguiente.
Descarga e instalación manuales de archivos m2repository
El proceso totalmente manual para recuperarse de m2repository errores implica descargar el archivo android_m2repository_r_nn_.zip (mediante un explorador web), descomprimirlo y copiar su contenido en el directorio de la biblioteca de soporte técnico en el equipo. En el ejemplo siguiente, nos recuperaremos de este mensaje de error:
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.
Siga estos pasos para descargar m2repository e instale su contenido:
Elimine el contenido de la carpeta de biblioteca correspondiente al mensaje de error. Por ejemplo, en el mensaje de error anterior eliminaría el contenido de C:\Users\nombre de usuario\AppData\Local\Xamarin\Android.Support.v4\23.1.1.0. Tal como se describió anteriormente, debe eliminar todo el contenido de este directorio:
Descargue el archivo android_m2repository_r_nn_.zip de Google correspondiente al mensaje de error (vea la tabla de la sección anterior para ver los vínculos).
Extraiga este archivo .zip en cualquier ubicación (como el escritorio). De este modo debe crearse un directorio correspondiente al nombre del archivo .zip. En este directorio, debe encontrar un subdirectorio llamado m2repository:
En el directorio de bibliotecas con versiones que purgó en el paso 1, vuelva a crear los subdirectorios content y embedded. Por ejemplo, en la captura de pantalla siguiente se muestran contenido y subdirectorios incrustados que se crean en la carpeta 23.1.1.0 para android_m2repository_r25.zip:
Copie m2repository desde el archivo .zip extraído en el directorio content que creó en el paso anterior:
En el directorio .zip extraído, vaya a m2repository\com\android\support\support-v4 y abra la carpeta correspondiente al número de versión creado anteriormente (en este ejemplo, 23.1.1):
Copie todos los archivos de esta carpeta en el directorio embedded creado en el paso 4:
Compruebe que se copian todos los archivos. El directorio embedded ahora debe incluir archivos como .jar, .aar y .pom.
Descomprima el contenido de cualquier archivo .aar extraído en el directorio embedded. En Windows, anexe una extensión .zip al archivo .aar, ábralo y copie el contenido en el directorio embedded. En macOS, descomprima el archivo .aar mediante el comando unzip en el terminal (por ejemplo, unzip file.aar).
En este momento, ha instalado manualmente los componentes que faltan y su proyecto debe compilarse sin errores. En caso contrario, compruebe que ha descargado la versión de archivo m2repository .zip que se corresponde exactamente con la versión del mensaje de error. Asimismo, compruebe que ha instalado su contenido en las ubicaciones correctas, tal como se describe en los pasos anteriores.
Resumen
En este artículo se ha explicado cómo recuperarse de los errores habituales que se pueden producir durante la descarga e instalación automáticas de las bibliotecas de dependencia. Se ha descrito cómo eliminar la biblioteca problemática y recompilar el proyecto como una forma de volver a descargar y volver a instalar la biblioteca. Se ha descrito cómo descargar la biblioteca e instalarla en la carpeta zips. También se ha descrito un procedimiento con mayor implicación para descargar e instalar manualmente los archivos necesarios como una forma de solucionar los problemas que no pueden resolverse a través de medios automáticos.