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?

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.

  • Imágenes borrosas de SVG en cromo para Android
  • Cómo crear dibujos vectoriales para Android?
  • Errores de importación de elementos de Android Studio Vector: Etiquetas no compatibles
  • Uso de la biblioteca svg-android
  • App fallos aleatorios con señal fatal 7 (SIGBUS), código 2 o señal fatal 11 (SIGSEGV), código 1
  • Uso de archivos SVG con libgdx
  • Android y reproducción de animación SVG
  • SVG vs PNG en Android
  • La aplicación Android PhoneGap no clasifica el contenido de forma equivalente a la página de Chrome / navegador
  • Biblioteca de Android sobre el recurso de reemplazo
  • Error al intentar probar AnimatedVectorDrawable, "No se puede cambiar de x a z"
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.