Android: El uso de SVG en res lleva al error: "El nombre del archivo debe finalizar con .xml o .png"

Acabo de actualizar Android Studio 1.2.1.1 y ahora gradle tiene problemas con svg en mi carpeta de recursos. Siempre estuve usando SVG sin ningún problema y espero que se "permitan" en el futuro.

:app:mergeDebugResources :app:mergeDebugResources FAILED /home/petergriffin/folder1/another-app/MyAwesome-App/app/src/main/res/drawable-hdpi/logo.svg Error:Error: The file name must end with .xml or .png Error:Execution failed for task ':app:mergeDebugResources'. > /home/petergriffin/folder1/another-app/MyAwesome-App/app/src/main/res/drawable-hdpi/logo.svg: Error: The file name must end with .xml or .png Information:BUILD FAILED 

¿Alguna idea de cómo resolver eso?

5 Solutions collect form web for “Android: El uso de SVG en res lleva al error: "El nombre del archivo debe finalizar con .xml o .png"”

El mismo problema con los archivos webp en el directorio de recursos dibujable.

El último complemento gradle (v1.2.3) no reconoce algunos de los formatos de imagen que antes funcionaban. No tengo el problema cuando vuelvo a v1.2.2

ACTUALIZACIÓN: Dado que esta característica fue corregida, debe actualizar a la versión de complemento de gradle más reciente en lugar de revertir de nuevo.

Puede cambiar la versión en su build.gradle estableciendo:

 buildscript { repositories { jcenter() mavenCentral() // mavenLocal() // Only if you want to use your local maven repo } dependencies { // classpath 'com.android.tools.build:gradle:+' classpath 'com.android.tools.build:gradle:1.2.2' } } 

Los archivos SVG no son compatibles con Android como drawables. Incluso si usted los pone allí, el sistema no puede decodificarlos como usted esperaría. En su lugar intente ponerlos en la carpeta src/main/res/raw o src/main/assets y cargarlos adecuadamente (a través de una biblioteca externa). La mayoría de la gente confunde SVG y Vector-drawables, no son la misma cosa. Vector-drawables utilizar SVG compatible con mini-idioma, pero eso es todo.

La solución aceptada actualmente es volver a una versión arcaica del complemento Gradle, que es contraproducente en la mayoría de los casos. El equipo de herramientas está invirtiendo mucho esfuerzo en hacer la construcción mucho mejor (es realmente noticable).

En lugar de revertir, debes avanzar a 1.5.0 (ha estado estable durante un tiempo) y añadir android.disableResourceValidation=true en tu archivo gradle.properties (normalmente ubicado en el proyecto raíz junto a settings.gradle ) para habilitar el pre -1.2.2 comportamiento.

Para obtener más información, consulte http://b.android.com/192493

Dentro de Android deberías usar (XML) Vector Drawable files (contienen la información SVG dentro del XML, detalles: https://developer.android.com/training/material/drawables.html#VectorDrawables ).

Vector Drawables se puede descargar desde este repositorio: https://github.com/google/material-design-icons . Busque las carpetas denominadas drawable-anydpi-v21 dentro de los directorios de iconos. Esta carpeta incluye los archivos Vector Drawable que se colocarán dentro del directorio dibujable de su aplicación.

Tenga en cuenta que el trabajo con los archivos Vector Drawable sólo es compatible con Android 5.0 y versiones posteriores. En caso de necesitar ser compatible con la versión <5.0 de Android, recomendaría hacer uso de esta biblioteca: https://github.com/trello/victor Esta biblioteca se puede utilizar para convertir archivos SVG a drawables en diferentes formatos durante la compilación de Su aplicación. Lo que le ahorra tener que crear y mantener las carpetas mdpi / hdpi / xhdpi / xxhdpi manualmente.

En caso de nombrar los archivos vectoriales dibujables y los archivos SVG por igual, puede utilizar ambos enfoques uno al lado del otro.

El problema persiste en el gradle 1.5. Parece que la única opción en el futuro es convertir los archivos svg a xml utilizando el "crear vector de activos" y luego seleccionar la opción de archivo svg.

Hay un problema en android studio 1.5.1 mientras se usa build: gradle: 1.5.0.please dar la solución. Acabo de actualizar Android Studio 1.5.1 y ahora gradle tiene problemas con svg en mi carpeta de recursos. Siempre estuve usando SVG sin ningún problema y espero que se "permitan" en el futuro.

  • ¿Tiene Glide un método para cargar tanto PNG como SVG?
  • Cómo utilizar la imagen SVG en ImageView
  • Dibujar el camino con el agujero (android)
  • SVG a Android forma
  • VectorDrawable - ¿está disponible de alguna manera para versiones pre-Lollipop de Android?
  • Mensaje de advertencia de archivo SVG en el editor de Android Studio
  • El selector de color para la imagen vectorial no funciona
  • Uso de archivos SVG con libgdx
  • Almacenamiento en caché de imágenes SVG en Android y uso de memoria
  • Mapa de imagen de Android. - mostrar un archivo .svg y usarlo como un mapa de imágenes (zonas de toque)
  • ¿Cuáles son las mejores prácticas para usar iconos SVG en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.