【问题标题】:The following classes could not be instantiated: android.support.design.widget.CoordinatorLayout无法实例化以下类:android.support.design.widget.CoordinatorLayout
【发布时间】:2015-06-30 08:55:24
【问题描述】:

有人知道这是怎么回事吗?

这是我的依赖项:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:design:22.2.0'
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.android.support:cardview-v7:22.0.0'
    compile 'com.android.support:gridlayout-v7:22.0.0'
    compile 'com.android.support:palette-v7:22.0.0'
    compile 'com.android.support:recyclerview-v7:22.0.0'
}

我从 Android 支持库中导入了所有内容并同步了 Gradle。有人知道为什么我在布局中遇到渲染问题吗?

这是错误日志:


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:214)
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:142)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:806)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:782)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:413)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:321)
    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 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: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)

【问题讨论】:

  • 嗯,我试着做他所说的事情。在 Android Studio 1.3 Beta 上运行它并不能帮助渲染它。暂时将xml中的CoordinatorLayout更改为FrameLayout进行编辑并不重要,因为如果我尝试运行该应用程序,它将由于无法找到CoordinatorLayout而崩溃。我仍在努力寻找更好的解决方案。
  • @George 在运行您的应用程序之前,将您的FrameLayout 改回CoordinatorLayout,以便它可以找到CoordinatorLayout

标签: android android-studio


【解决方案1】:

在导入支持库并同步 Gradle 以重建您的项目后,我也面临与您的方案相同的问题。

完成此程序后,它对我有用,我希望这会有所帮助。

【讨论】:

  • 我不确定重建项目是否完全有必要。只有 Gradle 同步。
  • 同步后,如果它正在追求你可以重建项目或重新启动android工作室,在这种情况下确定
  • 这是在没有问题跟踪器的情况下解决此问题的简单解决方案
【解决方案2】:

以下类无法实例化:android.support.design.widget.CoordinatorLayout

这仅仅是因为android.support.design.widget.CoordinatorLayoutadded in version 24.1.0。所以,支持库依赖是不正确的。依赖项应至少更新到版本 24.1.0 或使用最新的支持库 (28.0.0)。像这样的:

dependencies {

    compile 'com.android.support:design:28.0.0'
    compile 'com.android.support:appcompat-v7:28.0.0'
    compile 'com.android.support:cardview-v7:28.0.0'
    compile 'com.android.support:gridlayout-v7:28.0.0'
    compile 'com.android.support:palette-v7:28.0.0'
    compile 'com.android.support:recyclerview-v7:28.0.0'
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2017-03-30
    • 2016-06-13
    • 2017-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多