【问题标题】:Rendering Problems of android.support.design.widget.CoordinatorLayoutandroid.support.design.widget.CoordinatorLayout的渲染问题
【发布时间】:2017-07-15 13:08:51
【问题描述】:

我在将 android studio 升级到 2.2.3 后遇到问题 问题是使用 android.support.design.widget.CoordinatorLayout 它显示了这个错误

找不到以下类: - android.support.design.widget.CoordinatorLayout(修复构建路径、编辑 XML、创建类) - android.support.design.widget.TextInputLayout(修复构建路径,编辑XML,创建类)提示:尝试构建项目。提示:尝试 刷新布局。 属性“imeActionId”中的 \app\src\main\res\layout\activity_main.xml" 不是有效整数

我尝试修复构建路径,但对我不起作用。 当我构建并运行它时显示

原因:java.lang.ClassNotFoundException:找不到类 路径上的“android.support.design.widget.CoordinatorLayout”: DexPathList[[压缩文件 "/data/app/fitness.aclass.fitness-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /系统/库]] 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:511) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:469) 在 android.view.LayoutInflater.createView(LayoutInflater.java:571) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:482) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:414) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:365) 在 android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284) 在 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 在 Fitness.aclass.fitness.MainActivity.onCreate(MainActivity.java:11) 在 android.app.Activity.performCreate(Activity.java:6092) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2468) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2595) 在 android.app.ActivityThread.access$800(ActivityThread.java:178) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470) 在 android.os.Handler.dispatchMessage(Handler.java:111) 在 android.os.Looper.loop(Looper.java:194) 在 android.app.ActivityThread.main(ActivityThread.java:5624) 在 java.lang.reflect.Method.invoke(本机方法) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 抑制:java.lang.ClassNotFoundException:android.support.design.widget.CoordinatorLayout 在 java.lang.Class.classForName(本机方法) 在 java.lang.BootClassLoader.findClass(ClassLoader.java:781) 在 java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 22 更多 原因:java.lang.NoClassDefFoundError: Class not found using the boot class loader;没有可用的堆栈

这是我的 build.gradle(应用模块)

   apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.2"
    defaultConfig {
        applicationId "fitness.aclass.fitness"
        minSdkVersion 16
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.0'

    testCompile 'junit:junit:4.12'
}

任何解决方案!

【问题讨论】:

    标签: java android android-layout


    【解决方案1】:

    CoordinatorLayout 是设计库的一部分。所以你应该添加

    implementation' com.android.support:design:28.0.0'

    24.2.0版本,如果您出于某种原因需要使用过时的版本。

    【讨论】:

    • 我不能使用 25.2.0,因为编译版本是 24。
    • 所以我使用 24,你的回答真的很有帮助。 :)
    【解决方案2】:

    尝试从 Build 菜单中清理项目一段时间,因为 gradle build 缓存会发生。 还有一件事尝试使用最新的,因为他们已经解决了许多问题。

    【讨论】:

    • @Divers 阅读问题,它与库或它的版本无关。我说我所面临的,不要嫉妒。
    • 我只是陈述事实,我并不嫉妒。您可以清理 gradle 构建和缓存 1 000 000 次,但如果您使用项目中未提供的类 - 您将看到上述异常。所以你的答案是完全错误的。
    • @Divers 所以你说 CoordinatorLayout 在 v24 中不可用。所以为了您的信息,它是在 v22.2.0 中添加的。在将手指放在某个人之前检查更改日志。
    • 不,我说协调器布局是'com.android.support:design' 的一部分,而不是com.android.support:appcompat-v7 或任何其他库的一部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-07
    • 2023-03-30
    • 2020-10-18
    • 2020-04-25
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多