Intento actualizar mi biblioteca de soporte hasta 23.2.0 y me enfrento a este error:
Exception while inflating <vector>
org.xmlpull.v1.XmlPullParserException: Binary XML file line #17<vector> tag requires viewportWidth > 0
at android.support.graphics.drawable.VectorDrawableCompat.updateStateFromTypedArray(VectorDrawableCompat.java:535)
at android.support.graphics.drawable.VectorDrawableCompat.inflate(VectorDrawableCompat.java:472)
at android.support.graphics.drawable.VectorDrawableCompat.createFromXmlInner(VectorDrawableCompat.java:436)
at android.support.v7.widget.AppCompatDrawableManager$VdcInflateDelegate.createFromXmlInner(AppCompatDrawableManager.java:829)
at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:303)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:178)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:173)
at android.support.v7.widget.TintTypedArray.getDrawable(TintTypedArray.java:60)
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:254)
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:196)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:594)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
at com.chotot.vn.v2.activities.MainActivity.onCreate(MainActivity.java:121)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Y
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.chotot.vn.dev/com.chotot.vn.v2.activities.MainActivity}: android.view.InflateException: Binary XML file line #13: Error inflating class android.support.v7.widget.Toolbar
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #13: Error inflating class android.support.v7.widget.Toolbar
at android.view.LayoutInflater.createView(LayoutInflater.java:620)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
at com.chotot.vn.v2.activities.MainActivity.onCreate(MainActivity.java:121)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:594)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
at com.chotot.vn.v2.activities.MainActivity.onCreate(MainActivity.java:121)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020016
at android.content.res.Resources.loadDrawable(Resources.java:2091)
at android.content.res.Resources.getDrawable(Resources.java:695)
at android.support.v7.widget.TintResources.superGetDrawable(TintResources.java:48)
at android.support.v7.widget.AppCompatDrawableManager.onDrawableLoadedFromResources(AppCompatDrawableManager.java:374)
at android.support.v7.widget.TintResources.getDrawable(TintResources.java:44)
at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:323)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:180)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:173)
at android.support.v7.widget.TintTypedArray.getDrawable(TintTypedArray.java:60)
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:254)
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:196)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:594)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
at com.chotot.vn.v2.activities.MainActivity.onCreate(MainActivity.java:121)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #17: invalid drawable tag vector
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:897)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:837)
at android.content.res.Resources.loadDrawable(Resources.java:2087)
at android.content.res.Resources.getDrawable(Resources.java:695)
at android.support.v7.widget.TintResources.superGetDrawable(TintResources.java:48)
at android.support.v7.widget.AppCompatDrawableManager.onDrawableLoadedFromResources(AppCompatDrawableManager.java:374)
at android.support.v7.widget.TintResources.getDrawable(TintResources.java:44)
at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:323)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:180)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:173)
at android.support.v7.widget.TintTypedArray.getDrawable(TintTypedArray.java:60)
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:254)
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:196)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:594)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
at com.chotot.vn.v2.activities.MainActivity.onCreate(MainActivity.java:121)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Mi activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<fragment
android:id="@+id/f_actionbar"
android:name="com.chotot.vn.fragments.ActionBarFragment"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<android.support.v7.widget.Toolbar
android:id="@+id/main_tool_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_alignParentTop="true"
android:background="@color/action_bar_bg">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include
android:id="@+id/main_action_bar_layout"
layout="@layout/layout_actionbar_custom_search"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_gravity="top" />
<LinearLayout
android:id="@+id/main_action_bar_layout_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/main_action_bar_layout"
android:orientation="vertical" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
<FrameLayout
android:id="@+id/layout_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/main_tool_bar" />
</RelativeLayout>
¿Cómo puedo arreglarlo?
android
android-support-library
señoricetea
fuente
fuente
24.0.0
si alguien tiene consejos al respecto, por favor compártelo, realmente probé todo.Respuestas:
Use este código en su archivo build.gradle
//for Gradle Plugin 2.0+ android { defaultConfig { vectorDrawables.useSupportLibrary = true } }
Si está utilizando Gradle 1.5, utilizará en su lugar
defaultConfig { generatedDensities = [] } // This is handled for you by the 2.0+ Gradle Plugin aaptOptions { additionalParameters "--no-version-vectors" }
Creo que pueden estar usando un compacto de dibujo vectorial debajo en otra biblioteca que se encuentra aquí
fuente
Could not find property 'vectorDrawables' on ProductFlavor_Decorated
También puede actualizar a 23.4.0
dependencies { compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.android.support:design:23.4.0' }
y use una bandera para habilitar manualmente esta funcionalidad:
static { AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); }
dentro de la actividad que utiliza los vectores.
Fuente: Edad de los vectores.
fuente
com.android.support:appcompat-v7:25.3.1
ejecución de la aplicación en API 19. La configuración predeterminada es,vectorDrawables.useSupportLibrary = true
pero fallaba al configurar ImageSwitcher dibujable con un vector. Finalmente, con esta declaración estática, puedo establecer ImageResource con el vector dibujable. Parece que Android SDK es asombroso e imaginativo.Elimine el appcompat gradle (
compile "com.android.support:appcompat-v7:23.2.0"
) y reemplácelo con el diseño de soporte (compile 'com.android.support:design:23.1.1'
) esto resolverá el problemafuente
En dispositivos anteriores a la piruleta, debe crear un selector para usar VectorDrawable en otro lugar de ImageView
app:srcCompat="@drawable/your_vector_drawable"
Selector:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/your_vector_drawable" /> </selector>
Luego puede pasar este selector, por ejemplo, para TextView drawableLeft / drawableRight en xml
<TextView android:gravity="center_vertical" android:drawableLeft="@drawable/selector_your_vector_drawable" android:drawableStart="@drawable/selector_your_vector_drawable" android:drawableRight="@drawable/selector_your_vector_drawable" android:drawableEnd="@drawable/selector_your_vector_drawable" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/your_string" />
fuente
android:drawable
attribs en xml: s que hacen referencia a elementos de diseño vectoriales. Es esto o configurar el diseño de fondo mediante programación. ¡Con!En lugar de ContextCompat.getDrawable , simplemente use AppCompatDrawableManager.get (). GetDrawable .
Esto debería funcionar en versiones superiores a 23. +
fuente
AppCompatDrawableManager.get().getDrawable(getContext(), R.drawable.drawable_xyz);
por código. No estoy seguro de cómo funciona si lo declara xml.AppCompatResources.getDrawable(getContext(), R.drawable.drawable_xyz);
Utilizando:
compileSdkVersion 24 buildToolsVersion '24.0.1'
Me estrellé en tiempo de ejecución hasta que eliminé la línea
defaultConfig { vectorDrawables.useSupportLibrary = true }
de mi aplicación guild.gradle
Esto parece confundir a la versión más reciente del SDK
Espero que esto le ahorre dolores de cabeza a alguien más
fuente
app:srcCompat
To use VectorDrawableCompat, you need to set android.defaultConfig.vectorDrawable.useSupportLibrary = true.
? ¡Es muy confuso!Solucioné este problema reemplazando
dependencies { compile 'com.android.support:appcompat-v7:23.2.0' compile 'com.android.support:design:23.2.0' }
con
dependencies { compile 'com.android.support:appcompat-v7:23.0.1' compile 'com.android.support:design:23.0.1' }
fuente
Una combinación de algunas de las soluciones anteriores funcionó para mí. Aquí esta lo que hice -
Cambiar la versión 1.3.0 de Gradle a 1.5.0 en
build.gradle
del proyecto como ésteclasspath 'com.android.tools.build:gradle:1.5.0'
Actualización de abajo las cosas en
build.gradle
de aplicaciónbuildToolsVersion "23.0.2"
Dependencias de módulo actualizadas de 23.2.0 a 23.4.0:
compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.android.support:design:23.4.0' compile 'com.android.support:support-vector-drawable:23.4.0' compile 'com.android.support:animated-vector-drawable:23.4.0'
Ahora, dependiendo de la versión de Gradle que esté usando, use cualquiera de los siguientes dos fragmentos. Como estoy usando gradle 1.5.0, usé esto:
defaultConfig { generatedDensities = [] } aaptOptions { additionalParameters "--no-version-vectors" }
Pero si está usando Gradle 2.1.0, use esto en su lugar
defaultConfig { vectorDrawables.useSupportLibrary = true }
Y luego estás listo para irte. Lo probé tanto en xml como programáticamente. En un archivo xml, usé esto en mi ImageView -
app:srcCompat="@drawable/anim_droid" // where droid_anim is an animated-vector file containing set of animations to animate different paths of the SVG file
Y para hacerlo programáticamente, utilicé esto:
imageView.setImageResource(R.drawable.anim_droid); Drawable drawable = imageView.getDrawable(); if (drawable instanceof Animatable) { ((Animatable) drawable).start(); }
¡Espero eso ayude! Salud :)
fuente
Tuvo el mismo problema. Para mí, la actualización de la versión de Build Tools me ayudó:
buildToolsVersion "23.0.2"
fuente
Enfréntate al problema de bloqueo en la api 19 cuando actualices a la 23.2.0. Resolví este problema actualizando la versión a 23.2.1. (La última versión cuando responda esta pregunta. Intente actualizar a la última, tal vez Google lo haya solucionado)
compile 'com.android.support:appcompat-v7:23.2.1' compile 'com.android.support:support:23.2.1'.
fuente
'com.android.support:support:23.2.1'
?Asegúrese de usar también la última
buildToolsVersion
versión (descargue desde el administrador de SDK si es necesario).Muestra de Gradle:
android { compileSdkVersion 24 buildToolsVersion "24.0.0" defaultConfig { ... vectorDrawables.useSupportLibrary = true } dependencies { ... compile 'com.android.support:appcompat-v7:24.0.0' ... } }
fuente
En Gradle (gradle: 2.1.0):
defaultConfig { vectorDrawables.useSupportLibrary = true }
En diseño:
<ImageView android:layout_width="match_parent" android:layout_height="match_parent" app:srcCompat="@drawable/you_vector_drawable"/>
fuente
Tuve este problema, pero actualicé a las versiones build: grade:
classpath 'com.android.tools.build:gradle:1.5.0'
Y:
buildToolsVersion "23.0.2"
¡Éxito!
fuente
Reemplazar
android:src
conapp:srcCompat
fuente
Me sorprendió exactamente este mismo problema cuando construí una nueva versión de mi aplicación. Mi dependencia de appcompact se configuró para actualizarse automáticamente.
compile 'com.android.support:appcompat-v7:23+'
Así que tan pronto como esté disponible una nueva versión (en este caso la versión 23.2.0), reemplazará la anterior con la que estaba construyendo.
Por lo tanto, puede volver a la versión anterior de la biblioteca appcompat (solución rápida):
compile 'com.android.support:appcompat-v7:23.1.1'
O mantenga la versión actual de la biblioteca y use la respuesta de Ajinkya como explica Google en la nota de la versión 23.2.0 . Si opta por la última opción, no olvide actualizar su herramienta de compilación Gradle a la versión 1.5.0 o no podría usar los nuevos parámetros como
generatedDensities
:classpath 'com.android.tools.build:gradle:1.5.0'
fuente
Ante el mismo problema, esta solución lo solucionó.
En tu clase solo haz
public class YourClass extends xxx { static { AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); } ... }
y también agregue esto en su archivo gradle si aún no lo está.
defaultConfig { vectorDrawables.useSupportLibrary = true }
fuente
Lo he arreglado configurando ..
compile 'com.android.support:appcompat-v7:24.1.1' compile 'com.android.support:design:24.1.1' and buildToolsVersion '24.0.0'
fuente
También encontré este problema, lo que hice: cambiar
compileSdkVersion 24 buildToolsVersion "22.0.1"
a
compileSdkVersion 24 buildToolsVersion "24.0.1"
fuente
Insertar en build.gradle (Módulo: aplicación):
android { defaultConfig { vectorDrawables.useSupportLibrary = true } } dependencies { implementation 'com.android.support:appcompat-v7:26.1.0' }
Después, use el código a continuación, en su AppActivity:
AppCompatResources.getDrawable(getContext(), R.drawable.ic_your);
Donde esté disponible, use la aplicación: srcCompat en lugar de android: src y android: background , en el archivo de recursos XML
fuente
Tuve este problema, pero la actualización a las versiones siguientes lo solucionó:
classpath 'com.android.tools.build:gradle:1.5.0'
Y:
buildToolsVersion "23.0.2"
Dependencias del módulo:
compile 'com.android.support:appcompat-v7:23.2.0' compile 'com.android.support:support-v4:23.2.0' compile 'com.google.android.gms:play-services:8.4.0'
fuente
Arreglé el problema reemplazando
compile 'com.android.support:appcompat-v7:23.2.0' compile 'com.android.support:support-v4:23.2.0'
con
compile 'com.android.support:appcompat-v7:23.0.2' compile 'com.android.support:support-v4:23.0.2'
fuente
Recibí este mismo error en Android Studio 2.2 después de actualizar mis dependencias de Gradle a las últimas versiones, pero olvidé actualizar buildToolsVersion de mi proyecto.
Cambié:
compile 'com.android.support:appcompat-v7:22.2.1'
a:
compile 'com.android.support:appcompat-v7:24.2.1'
Mientras buildToolsVersion se mantuvo
"22.0.1"
así:buildToolsVersion "22.0.1"
Así que todo lo que hice fue actualizar buildToolsVersion a 24 así:
buildToolsVersion "24"
ya que anteriormente se descargó con SDK Manager. Así que verifique lo último
buildToolsVersion
de SDK Manager y vea si coincide con la versión de dependencias.Espero que esto ayude a alguien.
fuente
Para mí, lo que funcionó ... fue eliminar la 's' de 'https' en la declaración del espacio de nombres de mi vector xml dibujable.
Ese XML provino de la propia documentación de Google Android. Puede ver en la captura de pantalla que el xmlns es 'http', pero en la versión que se puede copiar a continuación, es 'https'.
Esto detendrá los errores de representación en el visor de activos vectoriales, pero aún no verá nada, por razones que no entiendo. Se supone que debe verse como una llave inglesa.
Si hace clic con el botón derecho en la carpeta de elementos de diseño y "Nuevo -> Activo vectorial", obtendrá un activo de icono de Android que funciona.
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path android:fillColor="#FF000000" android:pathData="M6,18c0,0.55 0.45,1 1,1h1v3.5c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5L11,19h2v3.5c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5L16,19h1c0.55,0 1,-0.45 1,-1L18,8L6,8v10zM3.5,8C2.67,8 2,8.67 2,9.5v7c0,0.83 0.67,1.5 1.5,1.5S5,17.33 5,16.5v-7C5,8.67 4.33,8 3.5,8zM20.5,8c-0.83,0 -1.5,0.67 -1.5,1.5v7c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5v-7c0,-0.83 -0.67,-1.5 -1.5,-1.5zM15.53,2.16l1.3,-1.3c0.2,-0.2 0.2,-0.51 0,-0.71 -0.2,-0.2 -0.51,-0.2 -0.71,0l-1.48,1.48C13.85,1.23 12.95,1 12,1c-0.96,0 -1.86,0.23 -2.66,0.63L7.85,0.15c-0.2,-0.2 -0.51,-0.2 -0.71,0 -0.2,0.2 -0.2,0.51 0,0.71l1.31,1.31C6.97,3.26 6,5.01 6,7h12c0,-1.99 -0.97,-3.75 -2.47,-4.84zM10,5L9,5L9,4h1v1zM15,5h-1L14,4h1v1z"/>
Tanto mi diseño como mi appcompat-v7 usan 23.2.1 y buildToolsVersion 23.0.2.
Esto acaba de entrar. La llave inglesa generada por el archivo de interfaz de 'iconos de material' -> nuevo -> activo vectorial -> icono de material (luego haga clic en el icono y seleccione llave inglesa) es:
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path android:fillColor="#FF000000" android:pathData="M22.7,19l-9.1,-9.1c0.9,-2.3 0.4,-5 -1.5,-6.9 -2,-2 -5,-2.4 -7.4,-1.3L9,6 6,9 1.6,4.7C0.4,7.1 0.9,10.1 2.9,12.1c1.9,1.9 4.6,2.4 6.9,1.5l9.1,9.1c0.4,0.4 1,0.4 1.4,0l2.3,-2.3c0.5,-0.4 0.5,-1.1 0.1,-1.4z"/> </vector>
Esta utilidad en línea me fue bien. Utilice Chrome. Convierte SVG a elementos de diseño vectoriales de Android.
fuente
el problema era:
solución:
cambiado
compileSdkVersion 23 buildToolsVersion "23.0.2"
acompileSdkVersion 24 buildToolsVersion "24.0.2"
código de solución:
compileSdkVersion 24 buildToolsVersion '24.0.1'
usando este código anterior resolví el problema
fuente
Simplemente agregue la siguiente dependencia en su build.gradle. Esto solucionará tu problema. Estoy usando 25.0.2 buildToolsVersion.
compile 'com.android.support:support-vector-drawable:25.3.0'
fuente
Cambié FragmentActivity a AppCompatActivity, el problema está resuelto. Mi entorno es:
compileSdkVersion = 25 buildToolsVersion = "25.0.0" supportVersion = "25.2.0"
fuente
En mi caso esta solución funcionó:
fuente
Aunque tengo el soporte de vector habilitado en mi gradle y tengo la última versión de gradle, herramientas de compilación, biblioteca de soporte y estudio de Android, sigo recibiendo el error.
Aquí una solución para mi caso:
AppCompatDrawableManager.get().getDrawable(getContext(), R.drawable.drawable_xyz);
para suprimir la advertencia de pelusa agregue esto
@SuppressLint("RestrictedApi")
fuente
intente usar: compile 'com.android.support:design:23.1.1'
en lugar de: compile "com.android.support:appcompat-v7:23.2.0"
fuente
También observado en buildToolsVersion '26 .0.2 '
La degradación a buildToolsVersion '25 .0.3 'funcionó .
Para buildToolsVersion '26 .0.2 ': Pruebe AppCompat para widgets Ejemplo: TextView -> android.support.v7.widget.AppCompatTextView (para compatibilidad con versiones anteriores de Android) También se observa en dispositivos de gama baja cuando el dispositivo no puede inflar elementos de diseño debido a la memoria escasez. (Aunque el dibujable existe en su directorio res-> dibujable): Intente cambiar su dibujable por otros menos complejos .
fuente