【问题标题】:NoClassDefFoundError: Failed resolution of: Landroid/support/v4/os/BuildCompat;NoClassDefFoundError:解析失败:Landroid/support/v4/os/BuildCompat;
【发布时间】:2017-04-12 23:58:08
【问题描述】:

我在处理这个错误时遇到了问题,当我运行我的应用程序时它会停止并在 logcat 中显示错误:

原因:java.lang.ClassNotFoundException:找不到类 路径上的“android.support.v4.os.BuildCompat”:DexPathList[[zip 文件 "/data/app/homeseek.app.android.capstonehomeseek-2/base.apk"],nativeLibraryDirectories=[/data/app/homeseek.app.android.capstonehomeseek-2/lib/arm64, /vendor/lib64, /system/lib64]]

完全错误:

致命例外:主要 11-29 13:00:24.538 1919-1919/? E/Android运行时: 进程:homeseek.app.android.capstonehomeseek,PID:1919 11-29 13:00:24.538 1919-1919/? E/Android运行时: java.lang.NoClassDefFoundError:解析失败: Landroid/support/v4/os/BuildCompat; 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:188) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:173) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:511) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 homeseek.app.android.capstonehomeseek.MainActivity.onCreate(MainActivity.java:48) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.app.Activity.performCreate(Activity.java:6323) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2387) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.app.ActivityThread.access$900(ActivityThread.java:153) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1347) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.os.Handler.dispatchMessage(Handler.java:102) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.os.Looper.loop(Looper.java:148) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.app.ActivityThread.main(ActivityThread.java:5451) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 java.lang.reflect.Method.invoke(本机方法)11-29 13:00:24.538 1919-1919/? E/Android运行时:在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 11-29 13:00:24.538 1919-1919/? E/AndroidRuntime: 原因: java.lang.ClassNotFoundException:找不到类 路径上的“android.support.v4.os.BuildCompat”:DexPathList[[zip 文件 "/data/app/homeseek.app.android.capstonehomeseek-1/base.apk"],nativeLibraryDirectories=[/data/app/homeseek.app.android.capstonehomeseek-1/lib/arm64, /vendor/lib64, /system/lib64]] 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 java.lang.ClassLoader.loadClass(ClassLoader.java:511) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 java.lang.ClassLoader.loadClass(ClassLoader.java:469) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:188) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:173) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:511) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 homeseek.app.android.capstonehomeseek.MainActivity.onCreate(MainActivity.java:48) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.app.Activity.performCreate(Activity.java:6323) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2387) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.app.ActivityThread.access$900(ActivityThread.java:153) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1347) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.os.Handler.dispatchMessage(Handler.java:102) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.os.Looper.loop(Looper.java:148) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 android.app.ActivityThread.main(ActivityThread.java:5451) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 java.lang.reflect.Method.invoke(本机方法)11-29 13:00:24.538 1919-1919/? E/Android运行时:在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 11-29 13:00:24.538 1919-1919/? E/AndroidRuntime:被禁止: java.lang.ClassNotFoundException: android.support.v4.os.BuildCompat 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 java.lang.Class.classForName(本机方法)11-29 13:00:24.538 1919-1919/? E/Android运行时:在 java.lang.BootClassLoader.findClass(ClassLoader.java:781) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 11-29 13:00:24.538 1919-1919/? E/Android运行时:在 java.lang.ClassLoader.loadClass(ClassLoader.java:504) 11-29 13:00:24.538 1919-1919/? E/AndroidRuntime: ... 18 更多 11-29 13:00:24.538 1919-1919/? E/AndroidRuntime: 原因: java.lang.NoClassDefFoundError:找不到使用引导类的类 装载机;没有可用的堆栈跟踪

这是我的 build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "homeseek.app.android.capstonehomeseek"
        minSdkVersion 20
        targetSdkVersion 23
        multiDexEnabled true
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/assets/'] } }

    dexOptions {
        javaMaxHeapSize "4g"
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile files('libs/PhotoUtil.jar')
    compile 'com.android.support:multidex:1.0.0'
    compile 'com.android.support:recyclerview-v7:23.4.0'
    compile 'com.android.support:cardview-v7:23.4.0'
    compile 'com.android.support:palette-v7:23.4.0'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'
    compile ('com.android.support:support-v4:23.4.0'){
        force = true;
    }
    compile 'com.android.volley:volley:1.0.0'
    compile 'com.google.android.gms:play-services:9.8.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
}

我真的不知道如何解决这个问题,请帮助我

【问题讨论】:

  • 尝试一次清理并重建项目
  • 您找到问题的答案了吗?我面临着类似的问题...
  • 自己提问会更好。我备份了我的代码,然后我清理并重建了项目,一切都好了。

标签: android gradle noclassdeffounderror


【解决方案1】:

我遇到了这个问题。我认为问题是:

compile 'com.google.android.gms:play-services:9.8.0'

您编译了可能的包。在某些情况下,这样做会使您的应用程序中的方法数量(包括框架 API、库方法和您自己的代码)保持在 65,536 个限制以下变得更加困难。所以这使得 NoClassDefFoundError 。 关注我的帖子:java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/util/ArrayMap

【讨论】:

    猜你喜欢
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    相关资源
    最近更新 更多