ClassNotFoundException:找不到类" android.support.constraint.ConstraintLayout"在路上

时间:2017-05-04 21:32:15

标签: android android-constraintlayout

我正在使用一些库,因此我必须编辑Gradle设置。由于我的应用程序不起作用,我在Android工作室中使用本地历史记录进行了恢复,但它仍然无法正常工作。返回的错误在此处报告

05-04 23:26:34.953 28017-28017/? I/art: Late-enabling -Xcheck:jni
05-04 23:26:35.217 28017-28017/com.quintabi.facchini.myshop W/System: ClassLoader referenced unknown path: /data/app/com.quintabi.facchini.myshop-2/lib/arm
05-04 23:26:35.233 28017-28017/com.quintabi.facchini.myshop I/InstantRun: starting instant run server: is main process
05-04 23:26:35.333 28017-28017/com.quintabi.facchini.myshop W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
05-04 23:26:35.465 28017-28017/com.quintabi.facchini.myshop D/AndroidRuntime: Shutting down VM


                                                                              --------- beginning of crash
05-04 23:26:35.466 28017-28017/com.quintabi.facchini.myshop E/AndroidRuntime: FATAL EXCEPTION: main
                                                                              Process: com.quintabi.facchini.myshop, PID: 28017
                                                                              java.lang.RuntimeException: Unable to start activity ComponentInfo{com.quintabi.facchini.myshop/com.quintabi.facchini.myshop.index}: android.view.InflateException: Binary XML file line #11: Binary XML file line #2: Error inflating class android.support.constraint.ConstraintLayout
                                                                                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2659)
                                                                                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2724)
                                                                                  at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                                                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1473)
                                                                                  at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                  at android.os.Looper.loop(Looper.java:154)
                                                                                  at android.app.ActivityThread.main(ActivityThread.java:6123)
                                                                                  at java.lang.reflect.Method.invoke(Native Method)
                                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
                                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
                                                                               Caused by: android.view.InflateException: Binary XML file line #11: Binary XML file line #2: Error inflating class android.support.constraint.ConstraintLayout
                                                                               Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class android.support.constraint.ConstraintLayout
                                                                               Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.constraint.ConstraintLayout" on path: DexPathList[[zip file "/data/app/com.quintabi.facchini.myshop-2/base.apk", zip file "/data/app/com.quintabi.facchini.myshop-2/split_lib_dependencies_apk.apk", zip file "/data/app/com.quintabi.facchini.myshop-2/split_lib_slice_0_apk.apk", zip file "/data/app/com.quintabi.facchini.myshop-2/split_lib_slice_1_apk.apk", zip file "/data/app/com.quintabi.facchini.myshop-2/split_lib_slice_2_apk.apk", zip file "/data/app/com.quintabi.facchini.myshop-2/split_lib_slice_3_apk.apk", zip file "/data/app/com.quintabi.facchini.myshop-2/split_lib_slice_4_apk.apk", zip file "/data/app/com.quintabi.facchini.myshop-2/split_lib_slice_5_apk.apk", zip file "/data/app/com.quintabi.facchini.myshop-2/split_lib_slice_6_apk.apk", zip file "/data/app/com.quintabi.facchini.myshop-2/split_lib_slice_7_apk.apk", zip file "/data/app/com.quintabi.facchini.myshop-2/split_lib_slice_8_apk.apk", zip file "/data/app/com.quintabi.facchini.myshop-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.quintabi.facchini.myshop-2/lib/arm, /system/lib, /vendor/lib]]
                                                                                  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                                                                                  at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
                                                                                  at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
                                                                                  at android.view.LayoutInflater.createView(LayoutInflater.java:609)
                                                                                  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
                                                                                  at android.view.LayoutInflater.parseInclude(LayoutInflater.java:964)
                                                                                  at android.view.LayoutInflater.rInflate(LayoutInflater.java:854)
                                                                                  at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
                                                                                  at android.view.LayoutInflater.parseInclude(LayoutInflater.java:994)
                                                                                  at android.view.LayoutInflater.rInflate(LayoutInflater.java:854)
                                                                                  at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
                                                                                  at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
                                                                                  at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
                                                                                  at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
                                                                                  at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:292)
                                                                                  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
                                                                                  at com.quintabi.facchini.myshop.index.onCreate(index.java:25)
                                                                                  at android.app.Activity.performCreate(Activity.java:6672)
                                                                                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1140)
                                                                                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2612)
                                                                                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2724)
05-04 23:26:35.467 28017-28017/com.quintabi.facchini.myshop E/AndroidRuntime:     at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                                                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1473)
                                                                                  at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                  at android.os.Looper.loop(Looper.java:154)
                                                                                  at android.app.ActivityThread.main(ActivityThread.java:6123)
                                                                                  at java.lang.reflect.Method.invoke(Native Method)
                                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
                                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)

Build.gradle(Project):

// Top-level build file where you can add configuration options common to all sub-projects/modules.

    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.1'

            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }

    allprojects {
        repositories {
            jcenter()
        }
    }

    task clean(type: Delete) {
        delete rootProject.buildDir
    }

的build.gradle(模块):

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.quintabi.facchini.myshop"
        minSdkVersion 23
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

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:25.3.1'
    compile 'com.android.support:design:25.3.1'
    testCompile 'junit:junit:4.12'
}

Settings.gradle只是

include ':app'

3 个答案:

答案 0 :(得分:22)

您可能已更新到AndroidX支持库,并且布局引用了旧的ConstraintLayout版本。因此,您必须在布局XML中将android.support.constraint.ConstraintLayout标签更新为androidx.constraintlayout.widget.ConstraintLayout

答案 1 :(得分:8)

您之前所做的更改损坏了您的Gradle文件(模块一)。 它应该是这样的:

apply plugin: 'com.android.application'

android {

    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "***" /*Your package name*/
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 5
        versionName "1.4"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
repositories {
    jcenter()
    maven { url "https://jitpack.io" }
}

dependencies {
//Your Dependencies
//Don't forget to add dependency of constraint-layout
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
}

为约束布局添加依赖项。 参见代码

  

注意:编译已经过时并被'实现'取代   关键字所以用'implementation'替换'compile'

所以代码将是

dependencies {
//Your Dependencies
//Don't forget to add dependency of constraint-layout
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
}

答案 2 :(得分:1)

使用androidx.constraintlayout.widget.ConstraintLayout替换android.support.constraint.ConstraintLayout,然后就可以了