Проблемы с визуализацией Исключение, возникающее при рендеринге: com.android.ide.common.rendering.api.LayoutlibCallback

У меня возникла проблема при создании проекта в Android Studio. (Версия 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)

В чем может быть проблема?

Ответ 1

У меня была такая же проблема после нескольких обновлений за несколько минут назад, что я сделал для решения проблемы с рендерингом, это изменить версию Android, используемую для рендеринга макетов из Android Studio обратно в "API 23: Android 6.0".

Студия Android

Ответ 2

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

Брошено, если приложение пытается вызвать указанный метод класса (либо статический, либо экземпляр), и этот класс больше не имеет определения этого метода. Обычно эта ошибка улавливается компилятором; эта ошибка может возникнуть только во время выполнения, если определение класса несовместимо изменилось.

Ваше приложение должно настроить таргетинг на Android 6.0 (API-уровень 23), чтобы включить это поведение; вам не нужно добавлять дополнительный код.

Просто выберите "API 23: Android 6.0" в разделе предварительного просмотра. введите описание изображения здесь

Ответ 3

У меня была такая же проблема, когда я установил Android 2.1 на ubuntu 14.04. Даже значок андроида-робота, который отображает версию андроида, используемую для рендеринга макета, показывал только версию API уровня 24 и другие версии.

Мне пришлось включить API 23 для загрузки, перейдя по указанному ниже пути.

Инструменты → SDK Manager → Android SDK → Платформы SDK → Название.

Проверьте параметр Android 6.0 (Marshwallow). Это будет загружено сейчас. Теперь вы сможете увидеть API-уровень 23 и выбрав, что мы можем обойти эту проблему.

Ответ 4

У меня была аналогичная проблема с Android Studio 1.5.1 в Windows 10. Предварительный просмотр не работал независимо от того, какая версия Android была выбрана. Стектура начинается с:

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

Когда я удаляю атрибут tools:showIn="@layout/activity_main" из RelativeLayout проблема разрешена для всех версий Android, кроме "N". У меня есть Android 2.2, 2.3.3, 5.0.1 и 6.0.

Я не могу объяснить, почему действие разрешает проблему или почему она работает для версии N.

Ответ 5

Это не своевременный ответ, но для тех, кто ищет кого-то другого, испытывающего ту же проблему, обновление студии Android делает трюк. В то время как все вышеприведенные предложения вы хотите получить обновление (версия 2.1.2).