web-dev-qa-db-fra.com

exception déclenchée lors du rendu: ligne de fichier XML binaire # -1: erreur lors de l'inflation de la classe <inconnu>

image of problem

J'ai essayé d'inclure des cases à cocher dans la mise en page et après avoir glissé-déposé, j'obtiens cette erreur:

exception déclenchée lors du rendu: ligne de fichier XML binaire # -1: erreur de gonflage class<unknown>.

fichier xml:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:paddingBottom="@dimen/activity_vertical_margin"
Android:paddingLeft="@dimen/activity_horizontal_margin"
Android:paddingRight="@dimen/activity_horizontal_margin"
Android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.nidhigupta.shopping2.MainActivity">

<TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="Hello World!"
    Android:id="@+id/textView" />

<CheckBox
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="New CheckBox"
    Android:id="@+id/checkBox"
    Android:layout_below="@+id/textView"
    Android:layout_alignParentLeft="true"
    Android:layout_alignParentStart="true" />

</RelativeLayout>

veuillez fournir une solution étape par étape.

le lien de détails dit:

Java.lang.NoSuchMethodError: Android.graphics.drawable.VectorDrawable_Delegate.nCreateTreeFromCopy(JJ)J
at Android.graphics.drawable.VectorDrawable.nCreateTreeFromCopy(VectorDrawable.Java)
at Android.graphics.drawable.VectorDrawable.access$400(VectorDrawable.Java:204)
at Android.graphics.drawable.VectorDrawable$VectorDrawableState.createNativeTreeFromCopy(VectorDrawable.Java:837)
at Android.graphics.drawable.VectorDrawable$VectorDrawableState.<init>(VectorDrawable.Java:812)
at Android.graphics.drawable.VectorDrawable.mutate(VectorDrawable.Java:268)
at Android.graphics.drawable.DrawableContainer$DrawableContainerState.addChild(DrawableContainer.Java:817)
at Android.graphics.drawable.StateListDrawable$StateListState.addStateSet(StateListDrawable.Java:329)
at Android.graphics.drawable.AnimatedStateListDrawable$AnimatedStateListState.addStateSet(AnimatedStateListDrawable.Java:602)
at Android.graphics.drawable.AnimatedStateListDrawable.parseItem(AnimatedStateListDrawable.Java:525)
at Android.graphics.drawable.AnimatedStateListDrawable.inflateChildElements(AnimatedStateListDrawable.Java:453)
at Android.graphics.drawable.AnimatedStateListDrawable.inflate(AnimatedStateListDrawable.Java:385)
at Android.graphics.drawable.DrawableInflater.inflateFromXml(DrawableInflater.Java:130)
at Android.graphics.drawable.Drawable.createFromXmlInner(Drawable.Java:1224)
at Android.graphics.drawable.Drawable.createFromXml(Drawable.Java:1197)
at com.Android.layoutlib.bridge.impl.ResourceHelper.getDrawable(ResourceHelper.Java:315)
at Android.content.res.BridgeTypedArray.getDrawable(BridgeTypedArray.Java:681)
at Android.widget.CompoundButton.<init>(CompoundButton.Java:89)
at Android.widget.CheckBox.<init>(CheckBox.Java:70)
at Android.widget.CheckBox.<init>(CheckBox.Java:66)
at Android.widget.CheckBox.<init>(CheckBox.Java:62)
at Sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at Sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.Java:62)
at Sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.Java:45)
at Java.lang.reflect.Constructor.newInstance(Constructor.Java:423)
at Android.view.LayoutInflater.createView(LayoutInflater.Java:645)
at Android.view.BridgeInflater.onCreateView(BridgeInflater.Java:107)
at Android.view.LayoutInflater.onCreateView(LayoutInflater.Java:717)
at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:785)
at Android.view.BridgeInflater.createViewFromTag(BridgeInflater.Java:149)
at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:727)
at Android.view.LayoutInflater.rInflate_Original(LayoutInflater.Java:858)
at Android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.Java:70)
at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:834)
at Android.view.LayoutInflater.rInflateChildren(LayoutInflater.Java:821)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:518)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:397)
at com.Android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.Java:317)
at com.Android.layoutlib.bridge.Bridge.createSession(Bridge.Java:429)
at com.Android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.Java:350)
at com.Android.tools.idea.rendering.RenderTask$2.compute(RenderTask.Java:520)
at com.Android.tools.idea.rendering.RenderTask$2.compute(RenderTask.Java:508)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.Java:967)
at com.Android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.Java:508)
at com.Android.tools.idea.rendering.RenderTask.access$600(RenderTask.Java:75)
at com.Android.tools.idea.rendering.RenderTask$3.call(RenderTask.Java:620)
at com.Android.tools.idea.rendering.RenderTask$3.call(RenderTask.Java:617)
at com.Android.tools.idea.rendering.RenderService.runRenderAction(RenderService.Java:371)
at com.Android.tools.idea.rendering.RenderTask.render(RenderTask.Java:617)
at com.Android.tools.idea.rendering.RenderTask.render(RenderTask.Java:639)
at com.intellij.Android.designer.designSurface.AndroidDesignerEditorPanel$7.run(AndroidDesignerEditorPanel.Java:519)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.Java:337)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.Java:327)
at com.intellij.util.ui.update.MergingUpdateQueue$3.run(MergingUpdateQueue.Java:271)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.Java:286)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.Java:244)
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.Java:234)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.Java:238)
at com.intellij.util.Alarm$Request$1.run(Alarm.Java:352)
at Java.util.concurrent.Executors$RunnableAdapter.call(Executors.Java:511)
at Java.util.concurrent.FutureTask.run(FutureTask.Java:266)
at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1142)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:617)
at Java.lang.Thread.run(Thread.Java:745)
62
Aakriti Gupta

UPDATE Sep/2016

Le problème n'est plus reproductible sur Android Studio v2.2. Mettez à jour votre Android Studio et le problème ne sera plus reproductible.

UPDATE Août/2016

Le problème persiste dans Android Studio v2.1.3

Réponse originale

Il semble que ce soit un problème qui est traité par Google ICI :

Certaines personnes sont confrontées au même problème et le correctif consiste toujours à modifier l'API de prévisualisation de 24 à 23 (ou toute autre version).

Vous devrez peut-être télécharger une version précédente du SDK .. Il n'est pas nécessaire de modifier votre build.gradle ... Il suffit de télécharger le SDK et = Android Studio vous permettra de changer le SDK dans l’aperçu de la mise en page.

enter image description here

132
W0rmH0le

Le problème lié au problème de rendu est résolu Consultez la réponse ici qui dit

Studio de sélection Android [~ # ~] a [~ # ~] automatiquement [~ # ~] p [~ # ~] ick [~ # ~] b [~ # ~] est par défaut

vous devez donc sélectionner le précédent API 23 manuellement.

4
Inzimam Tariq IT

J'ai un problème similaire et le résoudre en gérant la taille en pixels des dessins et la largeur-hauteur des contrôles dans le fichier xml. Veuillez ne pas ajouter de contrôles dans le fichier XML qui ne soit pas utilisé dans le fichier de classe.

1
Ashwani Srivastava

J'avais un problème similaire. Je l'ai résolu en diminuant la taille des images dans le dossier pouvant être dessiné.

1
rya

J'ai sélectionné la version précédente comme suggéré mais je ne voyais toujours pas l'image précédente.

Ce que j'ai fait était ceci:

  1. Dans la liste des versions, sélectionnez la "version précédente" et "Aperçu des versions d'Androïdes".

  2. Une fois que les écrans apparaissent versions antérieures de Android je clique sur l'une des précédentes et faites glisser sur la mise en page de l'image qui ne images.

Pour moi, cela a bien fonctionné, j'espère et je les sers. Lisaient .

0
Heimys Alvarado

J'ai eu cette exception auparavant et ce qui a fonctionné pour moi a été Fichier -> Invalidate Caches/Restart.

Vous pouvez essayer cela, mais vous devez savoir que tout l'historique local sera supprimé.

Éditer: le passage de l’API 24 à l’API 23 fonctionne également.

0
Raza Javeid

J'utilisais l'API 22, bien que l'API 25 soit disponible sur mon système.

Déplacer l'onglet problématique entre différentes vues fractionnées a fait l'affaire en une seconde.

0
nyxee