【问题标题】:Could not initialize class android.support.design.widget.CoordinatorLayout无法初始化类 android.support.design.widget.CoordinatorLayout
【发布时间】:2023-03-16 06:17:02
【问题描述】:

我正在尝试使用新 Android 设计库中的 CoordinatorLayout。我将包添加到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: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)

有人解决这个问题吗?谢谢。

【问题讨论】:

    标签: android xml android-design-library


    【解决方案1】:

    这是一个已知问题。它在 Android 开源项目问题跟踪器上打开:

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

    Android项目成员描述的解决方法是:

    解决方法:尝试使用 AS v1.3 预览通过 M 预览进行渲染。

    解决此问题的另一种方法是,当您想在可视化设计编辑器中对其进行编辑时,将您的 android.support.design.widget.CoordinatorLayout 替换为 FrameLayout,对布局进行更改,然后将其更改回 CoordinatorLayout你已经完成了。

    【讨论】:

      【解决方案2】:
      1. 首先将android studio更新到最新版本(beta)1.3 beta版本。 [使用来自 android studio 的菜单选项“检查更新”]

      2. 使用 Android M 预览呈现您的预览。

      如果您无法找到测试版更新更改 android studio 设置(更新),请更新该补丁并使用 M 预览进行渲染

      【讨论】:

        【解决方案3】:

        可能是依赖错误。依赖项必须像

        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'
        }
        

        【讨论】:

          【解决方案4】:

          要显示草图,您需要删除一条线

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

          来自主RelativeLayout

          【讨论】:

            【解决方案5】:

            尝试添加这些依赖项

            compile 'com.android.support:appcompat-v7:23.1.1'
            compile 'com.android.support:design:23.1.1'
            

            【讨论】:

              【解决方案6】:

              重新启动 Android Studio 为我解决了这个问题,希望这会有所帮助...

              【讨论】:

              • 我认为这是您在安装和 sdk 下载后第一次启动 android studio 时的情况。可能与缓存有关。重新启动 IDE 会清除缓存,然后它会工作。
              • 刚刚遇到这个问题,与安装/更新无关。简单的重新启动即可恢复预览。
              【解决方案7】:

              我使用最新的 Mac OS X、最新的 SDK 和最新的 Android Studio 遇到了它。它们都是“稳定”版本。为 Google 测试人员感到羞耻。

              我是如何解决的:

              1. 从菜单:工具 > Android > SDK管理器
              2. 在 SDK 管理器中,检查 Android 5.0.1 (API 21)。也许任何其他人都可以。
              3. 单击底部的“显示包详细信息”。在 Android 5.0.1 下,还要检查“Google APIs”和“Intel x86 Atom System Image”(为什么不呢?如果我们要为第 21 个 API 开发)
              4. 单击“确定”并等待组件下载。
              5. 就像其他答案中已经提到的,选择用它来渲染布局:

              问题解决了!

              【讨论】:

                【解决方案8】:

                将您的代码编辑到 build.gradle 文件中,如下所示。

                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'

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2021-11-03
                  • 2012-08-01
                  • 2012-10-10
                  • 2015-11-23
                  • 2011-09-28
                  • 2014-10-22
                  • 2021-02-14
                  • 2017-09-30
                  相关资源
                  最近更新 更多