रेंडरिंग समस्‍याएं सम्‍मिलित होने के दौरान उत्‍पन्‍न होने वाली समस्‍या: com.android.ide.common.rendering.api.LayoutliveCassback


154

एंड्रॉइड स्टूडियो में प्रोजेक्ट बनाते समय मुझे एक समस्या का सामना करना पड़ा। (संस्करण 1.5.1)

मैं अपने कार्यों का वर्णन चरण-दर-चरण करता हूं:

  • Android Studio खोलें।
  • बिना किसी गतिविधि के एक नया प्रोजेक्ट बनाएं।
  • एक खाली गतिविधि करें।

और पूर्वावलोकन मोड में कोई समस्या हो सकती है:

मुझे यह संदेश मिला:

Rendering Problems Exception raised during rendering: com.android.ide.common.rendering.api.LayoutlibCallback.getXmlFileParser(Ljava/lang/String;)Lorg/xmlpull/v1/XmlPullParser;

स्टैक ट्रेस में:

java.lang.NoSuchMethodError: com.android.ide.common.rendering.api.LayoutlibCallback.getXmlFileParser(Ljava/lang/String;)Lorg/xmlpull/v1/XmlPullParser;
    at com.android.layoutlib.bridge.impl.ResourceHelper.getInternalComplexColor(ResourceHelper.java:146)
    at com.android.layoutlib.bridge.impl.ResourceHelper.getColorStateList(ResourceHelper.java:231)
    at android.content.res.BridgeTypedArray.getColorStateList(BridgeTypedArray.java:308)
    at android.widget.TextView.<init>(TextView.java:776)
    at android.widget.TextView.<init>(TextView.java:705)
    at android.widget.TextView.<init>(TextView.java:701)
    at com.android.layoutlib.bridge.MockView.<init>(MockView.java:50)
    at com.android.layoutlib.bridge.MockView.<init>(MockView.java:45)
    at com.android.layoutlib.bridge.MockView.<init>(MockView.java:41)
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:163)
    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.inflate(LayoutInflater.java:492)
    at com.android.layoutlib.bridge.bars.CustomBar.<init>(CustomBar.java:95)
    at com.android.layoutlib.bridge.bars.StatusBar.<init>(StatusBar.java:67)
    at com.android.layoutlib.bridge.impl.Layout.createStatusBar(Layout.java:222)
    at com.android.layoutlib.bridge.impl.Layout.<init>(Layout.java:144)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:213)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:426)
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350)
    at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:510)
    at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:498)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:888)
    at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:498)
    at com.android.tools.idea.rendering.RenderTask.access$600(RenderTask.java:72)
    at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:610)
    at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:607)
    at com.android.tools.idea.rendering.RenderService.runRenderAction(RenderService.java:362)
    at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:607)
    at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:629)
    at com.intellij.android.designer.designSurface.AndroidDesignerEditorPanel$6.run(AndroidDesignerEditorPanel.java:480)
    at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
    at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
    at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254)
    at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
    at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
    at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
    at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
    at com.intellij.util.Alarm$Request$1.run(Alarm.java:351)
    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)

क्या समस्या हो सकती है?

जवाबों:


414

मुझे कुछ अपडेट मिनटों के बाद एक ही समस्या थी, मैंने रेंडरिंग मुद्दे को हल करने के लिए जो किया वह था एंड्रॉइड स्टूडियो से लेआउट को रेंडर करने के लिए उपयोग किए गए एंड्रॉइड वर्जन को "एपीआई 23: एंड्रॉइड 6.0" में बदलना।

Android स्टूडियो


5
हां, वह काम करता है। इसके अलावा, "स्वचालित रूप से सर्वश्रेष्ठ चुनना" को अनचेक करना सबसे अच्छा है, क्योंकि यह सिर्फ नवीनतम को चुनता है। आप स्वयं के साथ पूर्वावलोकन करना चाहते हैं एसडीके चुनना चाहिए।
अभिषेक

मैंने ऐसा किया है लेकिन मुझे अब निम्न त्रुटि मिलती है। Couldn't resolve resource @android:color/background_material_light
मार्टिन होबन

बस चेतावनी देने के लिए: यह एक आवर्तक समस्या है।
marciowb

लेकिन, जब एपीआई स्तर 24 पर सेट हो जाता है तो यह समस्या क्यों होती है। और 23 में क्यों नहीं?
Jay Donga

19

java.lang.NoSuchMethodError: com.android.ide.common.rendering.api.LayoutlibCallback.getXmlFileParser (Ljava / lang / String;) Lorg / xmlpull / v1 / XmlPullParser;

यदि कोई एप्लिकेशन वर्ग (या तो स्थिर या उदाहरण) की एक निर्दिष्ट पद्धति को कॉल करने का प्रयास करता है, और उस वर्ग की अब उस पद्धति की परिभाषा नहीं है। आमतौर पर, यह त्रुटि संकलक द्वारा पकड़ी जाती है; यह त्रुटि केवल रन के समय में हो सकती है यदि किसी वर्ग की परिभाषा असंगत रूप से बदल गई हो।

इस व्यवहार को सक्षम करने के लिए आपके ऐप को एंड्रॉइड 6.0 (एपीआई स्तर 23) को लक्षित करना चाहिए ; आपको कोई अतिरिक्त कोड जोड़ने की आवश्यकता नहीं है।

बस पूर्वावलोकन अनुभाग में "एपीआई 23: एंड्रॉइड 6.0" का चयन करें । यहां छवि विवरण दर्ज करें


2

जब मैं ubuntu 14.04 पर एंड्रॉइड स्टूडियो 2.1 स्थापित करता था, तो मेरे पास एक ही मुद्दा था। एंड्रॉइड रोबोट आइकन को प्रदान करें जो कि लेआउट लेआउट प्रदान करने के लिए उपयोग किए गए एंड्रॉइड संस्करण को केवल एपीआई स्तर 24 संस्करण और कोई अन्य संस्करण नहीं दिखा रहा था।

मुझे एपीआई 23 को नीचे के रास्ते पर नेविगेट करके डाउनलोड करने में सक्षम करना था

उपकरण -> एसडीके प्रबंधक -> एंड्रॉइड एसडीके -> एसडीके प्लेटफार्म -> नाम।

Android 6.0 (Marshwallow) विकल्प की जाँच करें। यह अब डाउनलोड किया जाएगा। अब आप एपीआई स्तर 23 को देख पाएंगे और जिसे चुनकर हम इस मुद्दे को हल कर सकते हैं।


1

मुझे विंडोज 10. में एंड्रॉइड स्टूडियो 1.5.1 के साथ एक समान समस्या थी। पूर्वावलोकन कोई काम नहीं कर रहा था, एंड्रॉइड के किस संस्करण का चयन किया गया था। स्टैकट्रेस के साथ शुरू होता है:

"java.lang.NoSuchMethodError: com.android.ide.common.rendering.api.LayoutlibCallback.getXmlFileParser (Ljava / lang / स्ट्रिंग;) Lorg / xmlpull / v1 / XmlPullParser;"

जब मैं समस्या tools:showIn="@layout/activity_main" से विशेषता को हटाता हूं तो RelativeLayout"एन" को छोड़कर सभी एंड्रॉइड संस्करणों के लिए हल हो जाता है। मेरे पास Android 2.2, 2.3.3, 5.0.1 और 6.0 सक्षम है

मैं यह नहीं समझा सकता कि कार्रवाई समस्या का समाधान क्यों करती है या संस्करण N के लिए क्यों काम करती है।


0

यह कोई समय पर जवाब नहीं है, लेकिन किसी और को उसी समस्या का सामना करने के लिए देख रहा है जो एंड्रॉइड स्टूडियो का एक अपडेट ट्रिक करता है। जबकि ऊपर दिए गए सभी सुझावों को आप अपडेट करना चाहते हैं (संस्करण 2.1.2)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.