library - com.android.support:design 26
Error de actualización de la biblioteca de soporte de Android a 23.2.0: XmlPullParserException La línea de archivo XML binario#17<vector> etiqueta requiere viewportWidth> 0 (30)
el problema fue:
/VdcInflateDelegate: Exception while inflating <vector>
solución:
cambió
compileSdkVersion 23 buildToolsVersion "23.0.2"
a
compileSdkVersion 24 buildToolsVersion "24.0.2"
código de solución:
compileSdkVersion 24
buildToolsVersion ''24.0.1''
usando este código anterior resolví el problema
Intento actualizar mi biblioteca de soporte hasta el 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?
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.
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
Asegúrese de utilizar también la última
buildToolsVersion
(descargue del administrador del 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''
...
}
}
Aunque tengo 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, todavía recibí el error.
Aquí una solución para mi caso:
AppCompatDrawableManager.get().getDrawable(getContext(), R.drawable.drawable_xyz);
para suprimir la advertencia de pelusa, agregue este
@SuppressLint("RestrictedApi")
Cambié FragmentActivity a AppCompatActivity, el problema está resuelto. Mi entorno es:
compileSdkVersion = 25
buildToolsVersion = "25.0.0"
supportVersion = "25.2.0"
Elimine el appcompat gradle (
compile "com.android.support:appcompat-v7:23.2.0"
) y reemplácelo con un diseño de soporte (
compile ''com.android.support:design:23.1.1''
) esto resolverá el problema
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"/>
En los dispositivos previos a la piruleta, debe crear un selector para usar VectorDrawable en otro lugar desde 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" />
En lugar de ContextCompat.getDrawable , simplemente use AppCompatDrawableManager.get (). GetDrawable .
Esto debería funcionar en versiones superiores a 23. +
En mi caso this solución funcionó:
Utilizar
android:theme="@style/TextLabelWhite"
al igual que en tu xml. Cambie el estilo principal a su estilo AppTheme, como:
<style name="TextLabelWhite" parent="AppTheme">
Enfrenta el problema del bloqueo en la API 19 cuando actualices a 23.2.0. Resolví este problema actualizando la versión a 23.2.1. (La última versión cuando conteste esta pregunta. Intenta actualizar a la última versión, quizás Google lo haya solucionado)
compile ''com.android.support:appcompat-v7:23.2.1''
compile ''com.android.support:support:23.2.1''.
Este mismo problema me sorprendió cuando construí una nueva versión de mi aplicación. Mi dependencia de appcompact se configuró en actualización automática.
compile ''com.android.support:appcompat-v7:23+''
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 creando.
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 se explica en
google en la nota de lanzamiento de la versión 23.2.0
.
Si opta por la versión posterior, 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''
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 su lugar android: src y android: background , en el archivo de recursos XML
Lo arreglé configurando ...
compile ''com.android.support:appcompat-v7:24.1.1''
compile ''com.android.support:design:24.1.1'' and buildToolsVersion ''24.0.0''
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 proviene de la documentación de Google Android en sí. Puede ver en la captura de pantalla que el xmlns es ''http'' pero en la versión que se puede copiar y pegar 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 parece una llave inglesa.
Si hace clic con el botón derecho en la carpeta de dibujos y en "Nuevo -> Activo de vector", 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 llegar. La llave inglesa generada por el archivo de interfaz de ''iconos de material'' -> nuevo -> activo de vector -> icono de material (luego haga clic en el icono y seleccione llave) 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 funcionó bien para mí. Utiliza Chrome. Convierte SVG en dibujos vectoriales de Android.
Recibí este mismo error en Android Studio 2.2 después de actualizar mis dependencias de Gradle a las últimas versiones, pero olvidé actualizar la versión de BuildTools de mi proyecto.
Cambié:
compile ''com.android.support:appcompat-v7:22.2.1''
a:
compile ''com.android.support:appcompat-v7:24.2.1''
Mientras que buildToolsVersion se mantuvo en
"22.0.1"
así:
buildToolsVersion "22.0.1"
Así que todo lo que hice fue actualizar buildToolsVersion a 24 así:
buildToolsVersion "24"
ya que se ha descargado previamente con SDK Manager.
Por lo tanto, compruebe la última
buildToolsVersion
de
buildToolsVersion
del SDK Manager y vea si coincide con la versión de las dependencias.
Espero que esto ayude a alguien.
Reemplace
android:src
con la
app:srcCompat
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''
Solucioné 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''
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''
}
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 extraíbles debido a la memoria escasez. (Aunque el dibujable existe en su directorio res-> dibujable): intente cambiar su dibujable con otros menos complejos .
También conocí este problema, lo que hice: cambiar
compileSdkVersion 24
buildToolsVersion "22.0.1"
a
compileSdkVersion 24
buildToolsVersion "24.0.1"
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 usa los vectores.
Fuente: Edad de los vectores.
Tuve el mismo problema Para mí, la actualización de la versión de Build Tools ayudó:
buildToolsVersion "23.0.2"
Tuve este problema, pero actualizando a las versiones build: grade:
classpath ''com.android.tools.build:gradle:1.5.0''
Y:
buildToolsVersion "23.0.2"
¡Éxito!
Tuve este problema, pero la actualización a las versiones a continuación lo solucionó por mí:
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''
Una combinación de algunas de las soluciones anteriores funcionó para mí. Aquí esta lo que hice -
Cambie la versión de gradle de 1.3.0 a 1.5.0 en
build.gradle
de
proyecto
como este
classpath ''com.android.tools.build:gradle:1.5.0''
Actualice las siguientes cosas en
build.gradle
de la
aplicación
buildToolsVersion "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é utilizando, use cualquiera de los dos fragmentos siguientes. Como estoy usando gradle 1.5.0, usé esto:
defaultConfig {
generatedDensities = []
}
aaptOptions {
additionalParameters "--no-version-vectors"
}
Pero si está utilizando Gradle 2.1.0, use esto
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
Y entonces estás listo para irte. Lo probé tanto en xml como programáticamente. En el 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, usé esto:
imageView.setImageResource(R.drawable.anim_droid);
Drawable drawable = imageView.getDrawable();
if (drawable instanceof Animatable) {
((Animatable) drawable).start();
}
¡Espero eso ayude! Saludos :)
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, en su lugar utilizará
defaultConfig {
generatedDensities = []
}
// This is handled for you by the 2.0+ Gradle Plugin
aaptOptions {
additionalParameters "--no-version-vectors"
}
Creo que es posible que estén usando un vector compacto que se puede dibujar debajo en otra biblioteca.
Utilizando:
compileSdkVersion 24
buildToolsVersion ''24.0.1''
Me caí en el tiempo de ejecución hasta que quité la línea
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
desde mi aplicación guild.gradle
Esto parece confundir la versión más reciente del SDK
Espero que esto ahorre dolores de cabeza a alguien más
intente usar: compile ''com.android.support:design:23.1.1''
en lugar de: compilar "com.android.support:appcompat-v7:23.2.0"