2016-03-10 3 views
152

У меня возникла проблема при создании проекта в Android Studio. (Версия 1.5.1)Проблемы рендеринга Исключение, возникающее при рендеринге: com.android.ide.common.rendering.api.LayoutlibCallback

я описываю свои действия шаг за шагом:

  • Open 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) 

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

ответ

413

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

Android studio

+0

Спасибо, этот совет был полезным – ShtihlFD

+4

"N" FTW! Пропустил это, спасибо! – ejohansson

+5

Да, это работает. Кроме того, лучше снять флажок «Автоматически выбирать лучший», так как он просто выбирает последнюю. Вы должны вручную выбрать sdk, который хотите просмотреть. – Abhishek

19

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

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

Чтобы настроить это приложение, необходимо указать Android 6.0 (API level 23); вам не нужно добавлять дополнительный код.

Просто выберите «API 23: Android 6.0» в разделе предварительного просмотра. enter image description here

1

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

"java.lang.NoSuchMethodError: com.android.ide.common.rendering.api.LayoutlibCallback.getXmlFileParser(Ljava/lang/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.

0

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

2

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

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

Tools -> SDK Manager -> Android SDK -> SDK платформы -> Имя.

Проверить option.This Андроид 6,0 (Marshwallow) будут загружены в настоящее время. Теперь вы сможете увидеть API-уровень 23 и выбрав, что мы можем обойти эту проблему.

Смежные вопросы

 Смежные вопросы