web-dev-qa-db-fra.com

Mise à jour Android Bibliothèque de support à 23.2.0 - Erreur provoquée par: XmlPullParserException ligne de fichier XML binaire # 17 La balise <vector> requiert viewportWidth> 0

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?

87
mr.icetea

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

54
Ajinkya

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

28
iCantSeeSharp

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.

26
Abhilash

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" />
23
Nikita Axyonov

Au lieu de ContextCompat.getDrawable, utilisez simplement AppCompatDrawableManager.get (). GetDrawable.

Cela devrait fonctionner sur les versions supérieures à 23. +

22
Ivelius

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

17
Mark Z. Kumler

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'
}
12
Abhijeet Mallick

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é :)

10
Shubhral

Avait le même problème. Pour moi, la mise à niveau de la version de build Tools m'a aidé à:

buildToolsVersion "23.0.2"
9
wonglik

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'.
9
tiegeda

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'
        ...
    }
}
7
Much Overflow

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"/>
4
bitvale

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!

3
Ds Digital

Remplacez Android:src par app:srcCompat

3
AnupamChugh

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'
2
Gomino

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
}
2
Gomez NL

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'
1
Rcc

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"
1
极速24号

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

1
amiron

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">
0
Alex Jolig

essayez d'utiliser: compile 'com.Android.support:design:23.1.1'

au lieu de: compile "com.Android.support:appcompat-v7:23.2.0"

0
FatalMan

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:

  • vectorDrawables.useSupportLibrary = true
  • Utilisez l'attribut app: SrcCompat pour les dessins vectoriels.
  • Utilisez setImageResource () dans le code pour définir des icônes.
0
Khizhny Andrey

le problème était:

/VdcInflateDelegate: Exception while inflating <vector>

solution:

a changé compileSdkVersion 23 buildToolsVersion "23.0.2" en compileSdkVersion 24 buildToolsVersion "24.0.2"

code de la solution:

compileSdkVersion 24
buildToolsVersion '24.0.1'

en utilisant ce code ci-dessus, j'ai résolu le problème

0
shafiq-ur-rehman

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'

0
Nanda Gopal

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")

0
Mohamed ALOUANE

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'
0
T.Coutlakis

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'
0
AnkitSingh2099

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.

0
Sandeep PC

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.

0
Cletus Ajibade

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"
0
ttdevs

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.

0
Jan Jansz