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:

    Ubicación de carpeta de ejemplo para la biblioteca de compatibilidad 22.2.1

  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:

    Contenido de ejemplo de la carpeta de biblioteca de compatibilidad 22.2.1

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

  1. Descargue el archivo android_m2repository_r_nn_.zip correspondiente 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ámbiele 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.

  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:

    Ejemplo del repositorio de r16.zip cuyo nombre se cambia a 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:

    Eliminar contenido, incrustar y android_m2repository carpetas de la carpeta 23.1.1.0

  2. Descargue el archivo android_m2repository_r_nn_.zip de Google correspondiente 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:

    Carpeta m2repository encontrada en el archivo ZIP extraído

  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:

    Crear contenido y carpetas insertadas en la carpeta 23.1.1.0

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

    Captura de pantalla de la carpeta m2repository copiada en la carpeta 23.1.1.0/content

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

    Lista de ejemplos de archivos contenidos en la carpeta support-v4/23.1.1

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

    Ejemplo de archivos copiados en la carpeta 23.1.1.0/embedded

  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.