呈现问题呈现期间引发异常: 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)

有什么问题吗?

62772 次浏览

在几分钟前的一些更新之后,我遇到了同样的问题,我所做的解决渲染问题的方法是将 Android Studio 中用于渲染布局的 Android 版本修改为“ API 23: Android 6.0”。

Android studio

返回文章页面 java.lang.NoSuchMethodError: (Ljava/lang/String;) Lorg/xmlpull/v1/XmlPullParser;

如果应用程序试图调用类的指定方法(静态或实例) ,而该类不再有该方法的定义,则引发。通常,此错误由编译器捕获; 此错误只能在运行时发生,如果类的定义发生不兼容更改。

您的应用程序必须以 Android 6.0(API 级别23)为目标才能启用此行为; 您不需要添加任何其他代码。

只需在预览部分选择 “ API 23: Android 6.0”enter image description here

我在 Windows10中的 AndroidStudio1.5.1也遇到过类似的问题。无论选择了哪个版本的 Android,预览都不能正常工作。堆栈跟踪的开头是:

“ java.lang.NoSuchMethodError: (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 中起作用。

这不是一个及时的答案,但对于任何人寻找其他人经历同样的问题,一个更新的 Android 工作室做的诀窍。上面的所有建议都会得到更新(版本2.1.2)。

我在 ubuntu 14.04上安装 android Studio 2.1时也遇到了同样的问题。甚至显示用于呈现布局的 android 版本的机器人图标也只显示了 API Level 24版本,没有其他版本。

我必须通过导航到下面的路径才能下载 API 23

工具-> SDK 管理器-> Android SDK-> SDK 平台-> 名称。

检查安卓6.0(棉花糖)选项。这将是现在下载。 现在您将能够看到 API 级别23,并通过选择我们可以绕过这个问题。