レンダリングの問題レンダリング中に例外が発生しました:com.android.ide.common.rendering.api.LayoutlibCallback


154

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)

何が問題でしょうか?

回答:


414

数分前にいくつかの更新を行った後も同じ問題がありました。レンダリングの問題を解決するために行ったのは、レイアウトのレンダリングに使用されるAndroidバージョンをAndroid Studioから「API 23:Android 6.0」に戻すことでした。

Androidスタジオ


5
はい、動作します。また、[最新のものを自動的に選択する]チェックボックスをオフにすることをお勧めします。最新のものを選択するだけです。プレビューするSDKを手動で選択する必要があります。
Abhishek 2016年

これを実行しましたが、次のエラーが発生します。Couldn't resolve resource @android:color/background_material_light
Martin Hoban

警告するだけです:それは繰り返し起こる問題です。
marciowb 2016年

しかし、APIレベルが24に設定されているときにこの問題が発生するのはなぜですか。また、23になっていないのはなぜですか。
ジェイ・東亜

19

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

アプリケーションがクラス(静的またはインスタンス)の指定されたメソッドを呼び出そうとし、そのクラスにそのメソッドの定義がなくなった場合にスローされます。通常、このエラーはコンパイラーによってキャッチされます。このエラーは、クラスの定義が互換性なく変更された場合にのみ実行時に発生します。

この動作を有効にするには、アプリがAndroid 6.0(APIレベル23)をターゲットにする必要があります。追加のコードを追加する必要はありません。

プレビューセクションで[ API 23:Android 6.0]を選択するだけ です。 ここに画像の説明を入力してください


2

Ubuntu Studio 14.04にAndroid Studio 2.1をインストールしたときにも同じ問題が発生しました。レンダリングレイアウトに使用されるAndroidバージョンを表示するAndroidロボットアイコンでも、APIレベル24バージョンのみが表示され、他のバージョンは表示されませんでした。

以下のパスに移動してAPI 23をダウンロードできるようにする必要がありました

ツール-> SDKマネージャー-> Android SDK-> SDKプラットフォーム->名前。

Android 6.0(Marshwallow)オプションをチェックします。これは今すぐダウンロードされます。これで、APIレベル23を確認でき、この問題を回避できる方法を選択できます。


1

Windows 10のAndroid Studio 1.5.1でも同様の問題がありました。Androidのどのバージョンを選択しても、プレビューは機能しませんでした。スタックトレースは次で始まります:

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

属性tools:showIn="@layout/activity_main"RelativeLayout問題から削除すると、「N」を除くすべてのAndroidバージョンで問題が解決します。Android 2.2、2.3.3、5.0.1、6.0を有効にしています

アクションが問題を解決する理由、またはバージョンNで機能する理由を説明できません。


0

これはタイムリーな回答ではありませんが、同じ問題が発生している他の人を探している人にとっては、android studioのアップデートが役立ちます。上記のすべての提案は機能しますが、更新(バージョン2.1.2)が必要です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.