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:

  1. Vaya al directorio de bibliotecas de compatibilidad del equipo:

    • En Windows, las bibliotecas de soporte técnico se encuentran en C:\Users\username\AppData\Local\Xamarin.

    • En Mac OS X, las bibliotecas de compatibilidad se encuentran en /Users/username/.local/share/Xamarin.

  2. Busque la carpeta de versión y biblioteca correspondiente al mensaje de error. Por ejemplo, la biblioteca y la carpeta de versión del mensaje de error anterior se encuentran en Android. Support.v4\22.2.1:

    Example folder location for 22.2.1 support library

  3. 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:

    Example contents of 22.2.1 support library folder

    Tenga en cuenta que es importante eliminar todo el contenido de esta carpeta. Aunque esta carpeta puede contener inicialmente el archivo deandroid_m2repository_r16.zip "falta", es posible que este archivo se haya descargado o dañado parcialmente.

  4. Recompile el proyecto: al hacerlo, el proceso de compilación volverá 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 todavía tiene 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.

  1. Descargue el archivo android_m2repository_r_nn_.zip que corresponde al mensaje de error: los vínculos se proporcionan en la lista siguiente (junto con el hash MD5 correspondiente de la dirección URL de cada vínculo):

    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, use https://dl-ssl.google.com/android/repository/android\_m2repository\_r_nn_.zip para descargar android_m2repository_r_nn_.zip.

  2. 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, cámbielo 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.

  3. Copie el archivo en la carpeta zips de Xamarin:

    • En Windows, esta carpeta se encuentra en C:\Users\username\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 descargaandroid_m2repository_r16.zip y se cambia el nombre al hash MD5 de su dirección URL de descarga en Windows:

    Example of the r16.zip repository being renamed to 0595E577D19D31708195A83087881EE6.zip

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 errores m2repository 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:

  1. 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\username\AppData\Local\Xamarin\Android. Support.v4\23.1.1.0. Tal como se describió anteriormente, debe eliminar todo el contenido de este directorio:

    Deleting content, embedded, and android_m2repository folders from the 23.1.1.0 folder

  2. Descargue el archivo android_m2repository_r_nn_.zip de Google que corresponde al mensaje de error (consulte la tabla de la sección anterior para obtener vínculos).

  3. 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:

    m2repository folder found in extracted zip archive

  4. 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 el contenido y los subdirectorios incrustados que se crean en la carpeta 23.1.1.0 para android_m2repository_r25.zip:

    Create content and embedded folders in the 23.1.1.0 folder

  5. Copie m2repository del .zip extraído en el directorio de contenido que creó en el paso anterior:

    Screenshot of m2repository copied to 23.1.1.0/content folder

  6. 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):

    Example listing of files contained in the support-v4/23.1.1 folder

  7. Copie todos los archivos de esta carpeta en el directorio incrustado creado en el paso 4:

    Example of files copied to the 23.1.1.0/embedded folder

  8. Compruebe que se copian todos los archivos. El directorio embedded ahora debe incluir archivos como .jar, .aar y .pom.

  9. 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. Si no es así, compruebe que ha descargado la versión de archivo m2repository.zip que corresponde exactamente a la versión del mensaje de error y 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.