web-dev-qa-db-de.com

Die Klasse Android.support.design.widget.CoordinatorLayout konnte nicht initialisiert werden

Ich versuche, das CoordinatorLayout aus der neuen Android-Designbibliothek zu verwenden. Ich habe das Paket zu gradle hinzugefügt; dann versuche ich das Layout zu verwenden Ich bekomme diesen Fehler:

Java.lang.NoClassDefFoundError: Could not initialize class Android.support.design.widget.CoordinatorLayout
at Sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at Sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.Java:39)
at Sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.Java:27)
at Java.lang.reflect.Constructor.newInstance(Constructor.Java:513)
at org.jetbrains.Android.uipreview.ViewLoader.createNewInstance(ViewLoader.Java:413)
at org.jetbrains.Android.uipreview.ViewLoader.loadView(ViewLoader.Java:105)
at com.Android.tools.idea.rendering.LayoutlibCallback.loadView(LayoutlibCallback.Java:177)
at Android.view.BridgeInflater.loadCustomView(BridgeInflater.Java:207)
at Android.view.BridgeInflater.createViewFromTag(BridgeInflater.Java:132)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:482)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:385)
at com.Android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.Java:400)
at com.Android.layoutlib.bridge.Bridge.createSession(Bridge.Java:332)
at com.Android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.Java:350)
at com.Android.tools.idea.rendering.RenderTask$2.compute(RenderTask.Java:497)
at com.Android.tools.idea.rendering.RenderTask$2.compute(RenderTask.Java:485)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.Java:894)
at com.Android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.Java:485)
at com.Android.tools.idea.rendering.RenderTask.render(RenderTask.Java:590)
at org.jetbrains.Android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.Java:644)
at org.jetbrains.Android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1700(AndroidLayoutPreviewToolWindowManager.Java:79)
at org.jetbrains.Android.uipreview.AndroidLayoutPreviewToolWindowManager$7$1.run(AndroidLayoutPreviewToolWindowManager.Java:586)
at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.Java:152)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.Java:452)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.Java:402)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.Java:54)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.Java:137)
at org.jetbrains.Android.uipreview.AndroidLayoutPreviewToolWindowManager$7.run(AndroidLayoutPreviewToolWindowManager.Java:581)
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:439)
at Java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.Java:303)
at Java.util.concurrent.FutureTask.run(FutureTask.Java:138)
at Java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.Java:895)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:918)
at Java.lang.Thread.run(Thread.Java:695)

Hat jemand eine Lösung dafür? Vielen Dank.

21
safaiyeh
  1. Aktualisieren Sie das Android Studio zunächst auf die neueste Version (Beta) 1.3-Betaversion. [Verwenden der Menüoption "Auf Updates prüfen" in Android Studio]

  2. Rendern Sie Ihre Vorschau mit der Android M-Vorschau.

enter image description here

Wenn Sie das Beta-Update nicht finden können, ändern Sie die Android Studio-Einstellungen (Updates). Aktualisieren Sie den Patch und rendern Sie ihn mit der Vorschau M

enter image description here

13
deniz

Dies ist ein bekanntes Problem. Es ist auf dem Android Open Source Project Issue Tracker geöffnet:

https://code.google.com/p/Android/issues/detail?id=175595

Die vom Android-Projektmitglied beschriebene Problemumgehung lautet:

Problemumgehung: Versuchen Sie, mit der M-Vorschau mit der Vorschau von AS v1.3 zu rendern.

Eine andere Möglichkeit, dieses Problem zu umgehen, besteht darin, Ihren Android.support.design.widget.CoordinatorLayout durch eine FrameLayout zu ersetzen, wenn Sie ihn im visuellen Design-Editor bearbeiten möchten. Nehmen Sie die Änderungen am Layout vor und ändern Sie ihn anschließend wieder in eine CoordinatorLayout.

17
BrentM

kann ein Abhängigkeitsfehler sein. Abhängigkeiten müssen so sein 

dependencies {

    compile 'com.Android.support:recyclerview-v7:22.2.0'
    compile 'com.Android.support:appcompat-v7:22.2.0'
    compile 'com.Android.support:design:22.2.0'
}
11
ali

Der Neustart von Android Studio hat das Problem behoben, ich hoffe, das hilft ...

5
Dodi

Um eine Skizze anzuzeigen, müssen Sie eine Linie löschen 

<tools:showIn="@layout/activity_main"> 

vom Haupt-RelativeLayout

3
Butsaty

Bearbeiten Sie Ihren Code in die Datei build.gradle wie folgt.

compileSdkVersion 24

buildToolsVersion "24.0.2"

compile 'com.Android.support:appcompat-v7:24.2.1'

compile 'com.Android.support:design:24.2.1' 

testCompile 'junit:junit:4.12'

3
Sneha Patel

Ich bin mit dem neuesten Mac OS X, dem neuesten SDK und dem neuesten Android Studio darauf gestoßen. Alle sind "stabile" Versionen. Schade bei Google-Testern.

Wie ich es repariert habe:

  1. Im Menü: Tools> Android> SDK-Manager
  2. Überprüfen Sie im SDK-Manager Android 5.0.1 (API 21). Vielleicht tut es auch jeder andere.
  3. Klicken Sie unten auf "Paketdetails anzeigen". Überprüfen Sie unter Android 5.0.1 auch "Google APIs" und "Intel x86 Atom System Image" (warum nicht? Wenn wir für die 21. API entwickeln)
  4. Klicken Sie auf OK und warten Sie, bis die Komponenten heruntergeladen sind.
  5. Wie bereits in anderen Antworten erwähnt, können Sie das Layout damit rendern:

 Choose to render layout with the Android API level 21

Problem gelöst!

0
Dmitry Isaev

Versuchen Sie, diese Abhängigkeiten hinzuzufügen

compile 'com.Android.support:appcompat-v7:23.1.1'
compile 'com.Android.support:design:23.1.1'
0
Radoslav