Masalah Rendering Pengecualian muncul saat rendering: com.android.ide.common.rendering.api.LayoutlibCallback

154

Saya mengalami masalah saat membuat proyek di Android Studio. (Versi 1.5.1)

Saya jelaskan tindakan saya langkah demi langkah:

  • Buka Android Studio.
  • Buat proyek baru tanpa aktivitas apa pun.
  • Buat aktivitas kosong.

Dan mungkin ada masalah dalam mode pratinjau:

Saya menerima pesan ini:

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

Dalam jejak tumpukan:

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)

Apa yang bisa menjadi masalah?

ShtihlFD
sumber

Jawaban:

414

Saya memiliki masalah yang sama setelah beberapa pembaruan beberapa menit yang lalu, apa yang saya lakukan untuk menyelesaikan masalah rendering adalah mengubah versi android yang digunakan untuk membuat layout dari Android Studio kembali ke "API 23: Android 6.0".

Studio Android

Elvis
sumber
5
Ya, itu berhasil. Juga, sebaiknya hapus centang "Otomatis pilih yang terbaik", karena hanya memilih yang terbaru. Anda harus secara manual memilih sdk yang ingin Anda tinjau.
Abhishek
Saya melakukan ini tetapi saya mendapatkan kesalahan berikut sekarang. Couldn't resolve resource @android:color/background_material_light
Martin Hoban
Hanya untuk memperingatkan: ini masalah berulang.
marciowb
Tapi, mengapa masalah ini terjadi ketika level API ditetapkan ke 24. Dan mengapa tidak di 23?
Jay Donga
19

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

Dilemparkan jika suatu aplikasi mencoba memanggil metode tertentu dari suatu kelas (baik statis atau instance), dan kelas itu tidak lagi memiliki definisi metode itu. Biasanya, kesalahan ini ditangkap oleh kompiler; kesalahan ini hanya dapat terjadi pada saat run time jika definisi kelas telah berubah secara tidak kompatibel.

Aplikasi Anda harus menargetkan Android 6.0 (API level 23) untuk mengaktifkan perilaku ini; Anda tidak perlu menambahkan kode tambahan apa pun.

Cukup pilih "API 23: Android 6.0" di Bagian Pratinjau. masukkan deskripsi gambar di sini

IntelliJ Amiya
sumber
2

Saya memiliki masalah yang sama ketika saya menginstal android studio 2.1 di ubuntu 14.04. Bahkan ikon robot android yang menampilkan versi android yang digunakan untuk rendering layout hanya menampilkan versi API Level 24 dan tidak ada versi lain.

Saya harus mengaktifkan API 23 untuk diunduh dengan menavigasi ke jalur di bawah ini

Alat -> SDK Manager -> Android SDK -> Platform SDK -> Nama.

Periksa opsi Android 6.0 (Marshwallow). Ini akan diunduh sekarang. Sekarang Anda akan dapat melihat API Level 23 dan dengan memilih mana yang bisa kami selesaikan dengan masalah ini.

crackerplace
sumber
1

Saya memiliki masalah yang sama dengan Android Studio 1.5.1 di Windows 10. Pratinjau tidak berfungsi apa pun versi Android yang dipilih. Stacktrace dimulai dengan:

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

Ketika saya menghapus atribut tools:showIn="@layout/activity_main" dari RelativeLayoutmasalah menyelesaikan untuk semua versi Android kecuali "N". Saya memiliki Android 2.2, 2.3.3, 5.0.1 dan 6.0 diaktifkan

Saya tidak bisa menjelaskan mengapa tindakan menyelesaikan masalah atau mengapa itu berhasil untuk versi N.

githeko
sumber
0

Ini bukan jawaban yang tepat waktu, tetapi bagi siapa pun yang mencari orang lain yang mengalami masalah yang sama, pembaruan dari studio android juga berfungsi. Sementara semua saran di atas berfungsi, Anda ingin mendapatkan pembaruan (versi 2.1.2).

Stephen Nyamweya
sumber