Error de compilación: Error con el proyecto de Android en Xamarin.Forms
Acabo de crear una pequeña aplicación de ejemplo Xamarin.Forms. Cuando construyo mi proyecto de Android consigo algunos errores. Acabo de googled errores y encontrar algunas soluciones. Pero nada funciona bien. El último día que había reinstalado Visual Studio 2015 y Xamarin Studio. Así que probablemente xamarin se actualizará en todos.
Acabo de enumerar mis errores y sugerir soluciones.
- System.TypeLoadException: No se pudo resolver el tipo con el token 01000019
- Xamarin.Forms untappable ListView (eliminar el efecto de rizo de selección)
- Reenvío de fuerza de Xamarin.Forms View con procesador personalizado
- Xamarin Forms Android App Crashes ejecutando Debug con VS Android emulador
- Cómo utilizar controles Xamarin.Form y controles nativos En la misma página
Error 1:
Error al descomprimir. Descargue https://dl-ssl.google.com/android/repository/android_m2repository_r10.zip y extráigalo en el directorio … ~ \ Local \ Xamarin \ Android.Support.v4 \ 21.0.3 \ content.
Solución sugerida: El archivo se descarga correctamente y se reemplaza según el mensaje de error.
Error 2: _Por favor, instale el paquete: 'Android Support Library' disponible en el instalador de SDK. El archivo de biblioteca Java … ~ \ Local \ Xamarin \ Android.Support.v4 \ 21.0.3 \ incorporado \ classes.jar no existe. Instale el paquete: 'Android Support Library' disponible en el instalador del SDK. El archivo de biblioteca de Java … ~ \ Local \ Xamarin \ Android.Support.v4 \ 21.0.3 \ embedded \ libs / internal_impl-21.0.3.jar no existe._
Solución sugerida: La Biblioteca de soporte de Android se elimina y se vuelve a instalar.
Error 3: Razón: … ~ \ Local \ Xamarin \ zips \ 1FD832DCC1792D8ACA07FAC3259FC5A9.zip no es un archivo zip válido.
Solución sugerida: No encontré ninguna solución para este error.
Estas soluciones son todavía inútiles. Y no funciona en mi caso.
Estoy usando :
- Xamarin 4.0.0.1689 (f860fe4)
- Xamarin.Android 6.0.0.34 (3efa14c)
- Xamarin.iOS 9.2.1.51 (3c0ec35)
Aquí está el informe detallado:
=== Estudio Xamarin ===
Versión 5.10 (versión 871) Instalación UUID: c5309e12-1ab1-494c-9296-033a0a5c3f24 Tiempo de ejecución: Microsoft .NET 4.0.30319.42000 GTK + 2.24.23 (tema MS-Windows) GTK # 2.12.30
=== Xamarin.Android ===
Versión: 6.0.0 SDK de Android: D: \ Android \ android-sdk Versiones de Android compatibles: 2.3 (nivel de API 10) 4.0.3 (nivel de API 15) 4,1 (nivel de API 16) 4,3 18) 4,4 (API nivel 19) 4,4,87 (API nivel 20) 5,0 (API nivel 21) 5,1 (API nivel 22) 6,0 (API nivel 23)
SDK Tools Versión: 24.4
SDK Platform Tools Versión: 23.0.1
SDK Build Tools Versión: 23.0.1
Java SDK: C: \ Archivos de programa (x86) \ Java \ jdk1.7.0_55 java version "1.7.0_55" Java (TM) SE Runtime Environment (build 1.7.0_55-b13) Cliente Java HotSpot (TM) -b03, modo mixto, compartir)
=== Xamarin Android Player ===
Versión: 0.6.5 Ubicación: C: \ Archivos de programa \ Xamarin Android Player \ DeviceManager.exe
=== Información de compilación ===
ID de la versión: 510000871 Git revision: 4e9c5abb5ffdae12ba02ac49da83f8b2011dbb88 Fecha de creación: 2015-11-12 07: 16: 34-05 Complementos de Xamarin: 55007ed0e56436f385d8e26394a45be563abc7e8 Construir carril: monodevelop-windows-cycle6
=== Sistema operativo ===
Windows 6.3.9600.0 (64 bits)
¿Alguna idea o sugerencia para salir de estos errores?
- Xamarin.Forms Tome la foto con la cámara muestra la orientación equivocada y se bloquea en el botón Atrás
- Xamarin mediaPicker.TakePhotoAsync bloquea la aplicación
- Evitar el cierre por botón de nuevo en formularios xamarin en android
- Cómo reducir el tamaño de código de usuario para una aplicación Xamarin Forms en Visual Studio 2015?
- Xamarin Forms Android Keyboard mueve toda la página hacia arriba
- ¿Por qué la misma interfaz se procesa de manera diferente en un emulador y un dispositivo?
- Color del borde para el editor en Xamarin.Forms
- Cómo obtener / detectar el tamaño de la pantalla en Xamarin.Forms?
EDIT: Esta información ahora está incluida en nuestra documentación: https://developer.xamarin.com/guides/android/troubleshooting/resolving-library-installation-errors/
Biblioteca de soporte de Xamarin.Android NuGet m2repository arregla
1. Investigación
Puede encontrar problemas con la descarga del m2repository
cuando m2repository
referencia a un paquete NuGet de las Bibliotecas de soporte de Android / Servicios de Google Play.
Ejemplo de error:
Download failed. Please download https://dl-ssl.google.com/android/repository/android_m2repository_r25.zip and put it to the C:\Users\[Username]\AppData\Local\Xamarin\{SUPPORT LIBRARY NAME}\{VERSION NUMBER} directory."
Directorio de Mac: /Users/[Username]/.local/share/Xamarin/
Directorio de Windows: C:\Users\[Username]\AppData\Local\Xamarin\
2. Contenido de la carpeta
Este ejemplo utilizará las rutas de acceso de Windows. Esto se puede aplicar a cualquiera de los sistemas operativos.
-
Teniendo en cuenta lo siguiente:
C:\Users\[Username]\AppData\Local\Xamarin\
-
Se mostrará una carpeta para cada una de las respectivas bibliotecas de soporte de Android / Servicios de Google Play.
- Cada biblioteca debe tener una colección de versiones:
Nota: En este ejemplo estoy mostrando todas las versiones de Android.Support.v4
- A continuación, investigaremos la versión respectiva en la que estamos interesados. Debemos ver dos carpetas dentro, de
content
yembedded
:
-
content
– Contiene elm2repository
-
.aar
– Contiene los respectivos contenidos.aar
3. Fijación automática
- Eliminar la carpeta de la biblioteca versionada que está dando errores:
Directorio de Mac: /Users/[Username]/.local/share/Xamarin/{SUPPORT LIBRARY NAME}/{VERSION NUMBER}
Directorio de Windows: C:\Users\[Username]\AppData\Local\Xamarin\{SUPPORT LIBRARY NAME}\{VERSION NUMBER}
- Reconstruya su proyecto (que iniciará una tarea de compilación para volver a descargar la biblioteca).
4. Reparación manual
Hay dos pasos para corregir manualmente este error.
- Agregar la carpeta
m2repository
a la carpeta/content
. - Agregar el contenido de la biblioteca de asistencia de Android / Google Play Services
.aar
a la carpeta/embedded
.
1. Agregar el repositorio m2 a la carpeta / content
Descargue el respectivo m2repository
desde google.
https://dl-ssl.google.com/android/repository/android_m2repository_r25.zip
Nota: Este número de versión variará en función de su mensaje de error.
- Extraiga ese .zip en cualquier directorio. Ahora debería haber una carpeta
android_m2repository_r25
. - Dentro de la carpeta
android_m2repository_r25
, tenemos una carpetam2repository
. - Coloque el
m2repository
en la carpeta{VERSION NUMBER}/content
2. Agregar el contenido .aar a la carpeta / incrustada
- Dentro de la carpeta
m2repository
, hay un archivo .aar para que se resuelva la biblioteca de soporte. Se puede encontrar en el directoriocom\android\support
:
Ejemplo:
m2repository\com\android\support
- Debería haber un
support-v4\{VERSION NUMBER}
que contenga el archivo.aar
. - Extraiga el
.aar
y coloque el contenido en la carpetaembedded
.
Ejemplo:
-
m2repository\com\android\support\support-v4\23.1.1\support-v4-23.1.1
contendrá elementos tales comoaapt
,aidl
,assets
,libs
,res
,AndroidManifest.xml
,annotations.zip
yclasses.jar
- Coloque todo el contenido en la carpeta
{VERSION NUMBER}/embedded
.
5. Nuevo arreglo manual
- Obtener la URL de la m2repository que falta descargar
- Utilice un hash MD5 en la URL de descarga
- Cambie el nombre del archivo a {MD5HASH} .zip (Donde MD5HASH es la URL de descarga hash)
- Coloque el nuevo archivo .zip hash en su directorio Xamarin \ zips
Elimine el zip en \ Local \ Xamarin \ zips \ 1FD832DCC1792D8ACA07FAC3259FC5A9.zip
Limpie y reconstruya su solución.
Elimine todos los archivos zip. Incluso si le pide que descargue y reemplace, se corromperá de nuevo. La forma más rápida es simplemente eliminar todos los archivos zip y reconstruir, se descargará y descomprimirá automáticamente según sea necesario.
El Android m2repository se corrompe a menudo en mi máquina.
Con Android también sugiero, construir en contra de API 23 (6.0) y establecer el nivel mínimo a 15 (a menos que realmente necesita API 10). Asegúrese de que no utilice la selección "SDK más reciente", que se sabe que también causa problemas en el pasado, seleccione la API más alta debajo.
Tengo ese problema cuando he intentado utilizar formularios xamarin 2.0
El problema suele venir cuando IDE (VS2015 por ejemplo) intenta descomprimir ese zip … VS se bloquea y debes forzar cerrarlo … cuando vuelves a abrir el IDE no puedes compilar nada con xamarin que utilice esta versión.
En primer lugar, debe descargar r23 no r10. Cada uno contiene ensamblajes para cada api de la versión.
Cuando lo tengas debes borrar la carpeta de la biblioteca en C: \ Users \% username% \ AppData \ Local \ Xamarin por ejemplo Android.Support.v4
Cree una ruta con el nombre de biblioteca C: \ Users \% username% \ AppData \ Local \ Xamarin {LibraryName} \ 23.0.1
Copiar y descomprimir descarga r23 a C: \ Users \% username% \ AppData \ Local \ Xamarin \ Android.Support.v4 \ 22.2.10 \ content
Vaya a m2repository \ com \ android \ support y bajo libraryname \ version obtendrá un archivo con la extensión ".aar", este es un archivo zip renombrarlo .rar y descomprimirlo en C: \ Users \% username% \ AppData \ Local \ Xamarin {LibraryName} \ 23.0.1 \ embedded
Por cierto, una copia de r23.zip descargado debe ser guardada en:
C: \ Users \% username% \ AppData \ Local \ Xamarin {nombre de biblioteca} \ 23.0.1 \
Cuando lo haya hecho, podrá volver a compilar
Pasé una noche entera luchando por conseguir este trabajo, resultó que había cerrado con fuerza VS durante una construcción inicial pensando que se quedó sin saber que en realidad estaba descargando un archivo de> 200MB a mi C: \ Usuarios [nombre de usuario] \ AppData \ Local \ Xamarin \ carpeta de cremalleras.
Eliminar el archivo zip dañado y ser lo suficientemente paciente como para volver a ejecutar una reconstrucción definitivamente arregló el problema.
- Obtener número de teléfono sin código de país en Android
- ¿Cómo usar Parcelable en fragmento para obtener datos?