J'essaie de mettre à jour ma bibliothèque de support jusqu'au 23.2.0 et je fais face à cette erreur:
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)
Et
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)
Mon 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>
Comment puis-je résoudre ce problème?
Utilisez ce code dans votre fichier build.gradle
//for Gradle Plugin 2.0+
Android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
Si vous utilisez Gradle 1.5, vous utiliserez plutôt
defaultConfig {
generatedDensities = []
}
// This is handled for you by the 2.0+ Gradle Plugin
aaptOptions {
additionalParameters "--no-version-vectors"
}
Je pense peut-être qu'ils utilisent un vecteur dessiné-compact sous d'autres lib.found ici
Vous pouvez également mettre à niveau vers 23.4.0
dependencies {
compile 'com.Android.support:appcompat-v7:23.4.0'
compile 'com.Android.support:design:23.4.0'
}
et utilisez un drapeau pour activer manuellement cette fonctionnalité:
static
{
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
à l'intérieur de l'activité qui utilise les vecteurs.
Source: Age des vecteurs
Supprimez le dégradé appcompat (compile "com.Android.support:appcompat-v7:23.2.0"
) et remplacez-le par le support (compile 'com.Android.support:design:23.1.1'
), le problème sera résolu.
Sur les appareils antérieurs à Lollipop, vous devez créer un sélecteur pour utiliser VectorDrawable ailleurs que dans ImageView.
app:srcCompat="@drawable/your_vector_drawable"
Sélecteur:
<?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>
Ensuite, vous pouvez passer ce sélecteur, par exemple pour 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" />
Au lieu de ContextCompat.getDrawable, utilisez simplement AppCompatDrawableManager.get (). GetDrawable.
Cela devrait fonctionner sur les versions supérieures à 23. +
En utilisant:
compileSdkVersion 24
buildToolsVersion '24.0.1'
Je me suis écrasé au moment de l'exécution jusqu'à ce que je supprime la ligne
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
de mon application guild.gradle
Cela semble confondre la nouvelle version du SDK
J'espère que cela sauve des maux de tête
J'ai résolu ce problème en remplaçant
dependencies {
compile 'com.Android.support:appcompat-v7:23.2.0'
compile 'com.Android.support:design:23.2.0'
}
avec
dependencies {
compile 'com.Android.support:appcompat-v7:23.0.1'
compile 'com.Android.support:design:23.0.1'
}
Un mélange de quelques-unes des solutions ci-dessus a fonctionné pour moi. Voici ce que j'ai fait -
Changer la version graduée de 1.3.0 à 1.5.0 dans build.gradle
de projet comme ceci
classpath 'com.Android.tools.build:gradle:1.5.0'
Mettre à jour ci-dessous les choses dans build.gradle
de app
buildToolsVersion "23.0.2"
Dépendances de modules mises à jour de 23.2.0 à 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'
Maintenant, selon la version que vous utilisez, utilisez l'un des deux extraits suivants. Depuis que j'utilise gradle 1.5.0, je l’utilise -
defaultConfig {
generatedDensities = []
}
aaptOptions {
additionalParameters "--no-version-vectors"
}
Mais si vous utilisez Gradle 2.1.0, utilisez plutôt ceci
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
Et puis vous êtes prêt à partir. Je l'ai testé à la fois en XML et par programmation. Dans un fichier xml, je l’ai utilisé dans mon 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
Et pour le faire par programme, j'ai utilisé ceci -
imageView.setImageResource(R.drawable.anim_droid);
Drawable drawable = imageView.getDrawable();
if (drawable instanceof Animatable) {
((Animatable) drawable).start();
}
J'espère que ça aide! À votre santé :)
Avait le même problème. Pour moi, la mise à niveau de la version de build Tools m'a aidé à:
buildToolsVersion "23.0.2"
Faites face au problème de crash sur l'API 19 lors de la mise à jour vers 23.2.0. J'ai résolu ce problème en mettant à jour la version 23.2.1. (La dernière version répond à cette question. Essayez de mettre à jour au plus tard, peut-être que Google l'a corrigé)
compile 'com.Android.support:appcompat-v7:23.2.1'
compile 'com.Android.support:support:23.2.1'.
Veillez également à utiliser la dernière version de buildToolsVersion
(téléchargement à partir du gestionnaire de SDK si nécessaire).
Exemple de note:
Android {
compileSdkVersion 24
buildToolsVersion "24.0.0"
defaultConfig {
...
vectorDrawables.useSupportLibrary = true
}
dependencies {
...
compile 'com.Android.support:appcompat-v7:24.0.0'
...
}
}
En grade (grade: 2.1.0):
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
En mise en page:
<ImageView
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:srcCompat="@drawable/you_vector_drawable"/>
J'ai eu ce problème, mais mise à jour vers les versions build: grade:
classpath 'com.Android.tools.build:gradle:1.5.0'
Et:
buildToolsVersion "23.0.2"
Succès!
Remplacez Android:src
par app:srcCompat
J'ai été supprised par ce même problème exact quand j'ai construit une nouvelle version de mon application. Ma dépendance à appcompact a été définie pour une mise à jour automatique.
compile 'com.Android.support:appcompat-v7:23+'
Ainsi, dès qu'une nouvelle version sera disponible (dans ce cas, la version 23.2.0), elle remplacera l'ancienne version avec laquelle vous étiez en train de construire.
Vous pouvez donc soit revenir à la version précédente de la bibliothèque appcompat (solution rapide):
compile 'com.Android.support:appcompat-v7:23.1.1'
Ou conservez la version actuelle de la bibliothèque et utilisez la réponse de Ajinkya comme expliqué par google dans la version 23.2. . Si vous optez pour la version ultérieure, n'oubliez pas de mettre à jour votre outil de génération de gradle vers la version 1.5.0, sinon vous ne pourrez pas utiliser les nouveaux paramètres tels que generatedDensities
:
classpath 'com.Android.tools.build:gradle:1.5.0'
Face au même problème, cette solution l'a corrigé.
Dans ta classe, fais juste
public class YourClass extends xxx {
static {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
...
}
et ajoutez-le également dans votre fichier Gradle si ce n'est pas encore le cas.
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
Je l'ai corrigé en mettant ..
compile 'com.Android.support:appcompat-v7:24.1.1'
compile 'com.Android.support:design:24.1.1' and buildToolsVersion '24.0.0'
J'ai rencontré ce problème aussi, ce que j'ai fait: changer
compileSdkVersion 24
buildToolsVersion "22.0.1"
à
compileSdkVersion 24
buildToolsVersion "24.0.1"
Insérer dans build.gradle (module: app):
Android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
dependencies {
implementation 'com.Android.support:appcompat-v7:26.1.0'
}
Ensuite, utilisez le code ci-dessous, dans votre AppActivity:
AppCompatResources.getDrawable(getContext(), R.drawable.ic_your);
Si disponible, utilisez le app: srcCompat à la place de Android: src et Android: arrière-plan, dans XML fichier de ressources
Dans mon cas this la solution a fonctionné:
Utilisation
Android:theme="@style/TextLabelWhite"
tout comme dans votre xml. Changez le style parent en votre style AppTheme, comme:
<style name="TextLabelWhite" parent="AppTheme">
essayez d'utiliser: compile 'com.Android.support:design:23.1.1'
au lieu de: compile "com.Android.support:appcompat-v7:23.2.0"
Mon application est tombée en panne sur une API <17 en raison d'un vecteur extractible dans TextView compoundable. Ma solution a été d'arrêter d'utiliser Compound Drawables avec Text Views et d'utiliser ImageView à la place. Comme le recommande Google:
/VdcInflateDelegate: Exception while inflating <vector>
a changé compileSdkVersion 23 buildToolsVersion "23.0.2"
en compileSdkVersion 24 buildToolsVersion "24.0.2"
compileSdkVersion 24
buildToolsVersion '24.0.1'
en utilisant ce code ci-dessus, j'ai résolu le problème
Ajoutez simplement la dépendance suivante dans votre build.gradle. cela résoudra votre problème. J'utilise 25.0.2 buildToolsVersion.
compiler 'com.Android.support:support-vector-drawable:25.3.0'
Même si la prise en charge de vector est activée dans mon diplôme et que j'ai la dernière version de gradle, des outils de construction, une bibliothèque de support et Android studio, j'ai toujours l'erreur.
Voici un correctif pour mon cas:
AppCompatDrawableManager.get().getDrawable(getContext(), R.drawable.drawable_xyz);
pour supprimer l'avertisseur de peluches, ajoutez ceci @SuppressLint("RestrictedApi")
J'ai eu ce problème, mais la mise à jour vers les versions ci-dessous l'a corrigé pour moi:
classpath 'com.Android.tools.build:gradle:1.5.0'
Et:
buildToolsVersion "23.0.2"
Dépendances de modules:
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'
J'ai résolu le problème en remplaçant
compile 'com.Android.support:appcompat-v7:23.2.0'
compile 'com.Android.support:support-v4:23.2.0'
avec
compile 'com.Android.support:appcompat-v7:23.0.2'
compile 'com.Android.support:support-v4:23.0.2'
Aussi observé sur buildToolsVersion '26 .0.2 '
Déclassement à buildToolsVersion '25 .0.3 'a fonctionné.
Pour buildToolsVersion '26 .0.2 ': Essayez AppCompat pour les widgets Exemple: TextView -> Android.support.v7.widget.AppCompatTextView (Pour les anciens Android Prise en charge de la version) Également observé sur les périphériques bas de gamme lorsque le périphérique est impossible de gonfler les tirables en raison d'un manque de mémoire (Même si le dessin existe dans votre répertoire res-> dessinable): Essayez de changer votre tirable avec les moins complexes.
J'ai eu la même erreur dans Android Studio 2.2 après avoir mis à jour mes dépendances Gradle avec les dernières versions, mais j'ai oublié de mettre à jour le buildToolsVersion de mon projet.
J'ai changé:
compile 'com.Android.support:appcompat-v7:22.2.1'
à:
compile 'com.Android.support:appcompat-v7:24.2.1'
Alors que buildToolsVersion est resté à "22.0.1"
comme ceci:
buildToolsVersion "22.0.1"
Donc, tout ce que je fis fut de mettre à jour buildToolsVersion à 24 comme suit:
buildToolsVersion "24"
depuis qu'il a été précédemment téléchargé avec SDK Manager. Vérifiez donc le dernier buildToolsVersion
de SDK Manager et vérifiez s'il correspond à la version des dépendances.
J'espère que ça aide quelqu'un.
J'ai changé le FragmentActivity en AppCompatActivity, le problème est résolu. Mon environnement est:
compileSdkVersion = 25
buildToolsVersion = "25.0.0"
supportVersion = "25.2.0"
Pour moi, ce qui a bien fonctionné ... a été de supprimer le "s" de "https" dans la déclaration d'espace de nommage de mon vecteur xml dessinable.
Ce fichier XML provient de la documentation elle-même de Google Android. Vous pouvez voir sur la capture d'écran que xmlns est "http" mais que, dans la version copie-collable ci-dessous, il s'agit de "https".
Cela arrêtera les erreurs de rendu dans le visualiseur d’actifs vectoriels, mais vous ne verrez toujours rien, pour des raisons qui ne me sont pas parvenues. C'est censé ressembler à une clé.
Si vous cliquez avec le bouton droit de la souris sur le dossier des éléments dessinables et que vous sélectionnez "Nouveau -> Actif vectoriel", vous obtenez un élément icône Android qui fonctionne.
<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"/>
Ma conception et mon appcompat-v7 utilisent 23.2.1 et buildToolsVersion 23.0.2.
La clé générée par le fichier d'interface 'icônes matérielles' -> nouvelle -> ressource vectorielle -> icône matière (puis cliquez sur l'icône et sélectionnez clé) est la suivante:
<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>
Cet utilitaire en ligne s'est bien passé avec moi. Utilisez Chrome. Il convertit SVG en Android dessins vectoriels.