Görüntü Oluşturma Sorunları Oluşturma sırasında istisna oluştu: com.android.ide.common.rendering.api.LayoutlibCallback


154

Android Studio'da proje oluştururken bir sorunla karşılaştım. (Sürüm 1.5.1)

İşlemlerimi adım adım açıklarım:

  • Android Studio'yu açın.
  • Etkinlik olmadan yeni bir proje oluşturun.
  • Boş bir etkinlik yapın.

Önizleme modunda bir sorun olabilir:

Bu mesajı alıyorum:

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

Yığın izlemede:

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)

Sorun ne olabilir?

Yanıtlar:


414

Birkaç dakika önce bazı güncellemelerden sonra aynı problemi yaşadım, oluşturma sorununu çözmek için yaptığım, Android Studio'dan düzenleri "API 23: Android 6.0" a dönüştürmek için kullanılan android sürümünü değiştirmekti.

Android stüdyosu


5
Evet, işe yarıyor. Ayrıca, en sonuncuyu seçtiği için "Otomatik olarak en iyiyi seç" seçeneğinin işaretini kaldırmak en iyisidir. Önizlemek istediğiniz sdk'yi manuel olarak seçmelisiniz.
Abhishek

Bunu yaptım ama şimdi aşağıdaki hatayı alıyorum. Couldn't resolve resource @android:color/background_material_light
Martin Hoban

Sadece uyarmak için: bu tekrarlayan bir problem.
marciowb

Ancak, API düzeyi 24 olarak ayarlandığında neden bu sorun oluşur? Ve neden 23'te değil?
Jay Donga

19

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

Bir uygulama bir sınıfın (statik veya örnek) belirli bir yöntemini çağırmaya çalışırsa ve bu sınıfın artık bu yöntemin bir tanımı yoksa atılır.Normal olarak, bu hata derleyici tarafından yakalanır; bu hata, yalnızca bir sınıfın tanımı uyumsuzca değiştiğinde çalışma zamanında ortaya çıkabilir.

Bu davranışı etkinleştirmek için uygulamanız Android 6.0'ı (API düzey 23) hedeflemelidir ; başka kod eklemenize gerek yoktur.

"API 23: Android 6.0" ı seçmeniz yeterlidirÖnizleme Bölümünde yeterlidir. resim açıklamasını buraya girin


2

Ubuntu 14.04 üzerine android studio 2.1 yüklediğimde de aynı sorunu yaşadım.Yeni düzenleme düzeni için kullanılan android sürümünü gösteren android robot simgesi sadece API Level 24 sürümünü ve başka sürümleri göstermiyordu.

Aşağıdaki yola giderek API 23'ün indirilmesini etkinleştirmem gerekiyordu

Araçlar -> SDK Yöneticisi -> Android SDK -> SDK Platformları -> Ad.

Android 6.0 (Marshwallow) seçeneğini işaretleyin. Artık API Seviye 23'ü görebileceksiniz ve hangisinin bu sorunu çözebileceğimizi seçerek görebileceksiniz.


1

Windows 10'da Android Studio 1.5.1 ile benzer bir sorun yaşadım. Android'in hangi sürümü seçilirse seçilsin önizleme çalışmadı. Yığın izleme şununla başlar:

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

Ben niteliği kaldırdığınızda tools:showIn="@layout/activity_main" gelen RelativeLayout"N" dışındaki tüm Android sürümleri için sorun giderir. Android 2.2, 2.3.3, 5.0.1 ve 6.0'ı etkinleştirdim

Eylemin sorunu neden çözdüğünü veya N sürümü için neden çalıştığını açıklayamıyorum.


0

Bu zamanında bir cevap değil ama aynı sorunu yaşayan herkes için arayan herkes için android stüdyo bir güncelleme hile yapar. Yukarıdaki tüm öneriler çalışırken güncelleme olsun (sürüm 2.1.2).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.