java.lang.NoClassDefFoundError:解析失败:Landroid/support/v4/os/BuildCompat

The*_*rix 30 android android-appcompat

我在Eclipse安装中将AppCompat库更新为24.2.1,将SDK更新到Android 7.从那以后,我无法运行任何应用程序.如果你能帮助我,我感激不尽......

E/AndroidRuntime(17555): java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/os/BuildCompat;
E/AndroidRuntime(17555):    at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:196)
E/AndroidRuntime(17555):    at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:181)
E/AndroidRuntime(17555):    at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:521)
E/AndroidRuntime(17555):    at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71)
E/AndroidRuntime(17555):    at com.ryosoftware.calendareventsnotifier.MainActivity.onCreate(MainActivity.java:844)
E/AndroidRuntime(17555):    at android.app.Activity.performCreate(Activity.java:5990)
E/AndroidRuntime(17555):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
E/AndroidRuntime(17555):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2311)
E/AndroidRuntime(17555):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2420)
E/AndroidRuntime(17555):    at android.app.ActivityThread.access$900(ActivityThread.java:154)
E/AndroidRuntime(17555):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
E/AndroidRuntime(17555):    at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(17555):    at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime(17555):    at android.app.ActivityThread.main(ActivityThread.java:5294)
E/AndroidRuntime(17555):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(17555):    at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime(17555):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
E/AndroidRuntime(17555):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
E/AndroidRuntime(17555): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.os.BuildCompat" on path: DexPathList[[zip file "/data/app/com.ryosoftware.calendareventsnotifier-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
E/AndroidRuntime(17555):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
E/AndroidRuntime(17555):    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
E/AndroidRuntime(17555):    at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
E/AndroidRuntime(17555):    ... 18 more
E/AndroidRuntime(17555):    Suppressed: java.lang.ClassNotFoundException: android.support.v4.os.BuildCompat
E/AndroidRuntime(17555):        at java.lang.Class.classForName(Native Method)
E/AndroidRuntime(17555):        at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
E/AndroidRuntime(17555):        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
E/AndroidRuntime(17555):        at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
E/AndroidRuntime(17555):        ... 19 more
E/AndroidRuntime(17555):    Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
Run Code Online (Sandbox Code Playgroud)

Int*_*iya 43

您将获得NoClassDefFoundErrorClassNotFoundException

当Java虚拟机无法在运行时找到在编译时可用的特定类时,Java中出现NoClassDefFoundError.

FYI

您正在使用Eclipse.Android Studio是一种更简单的Android开发方式,如果您能够掌握它的话.对于使用Eclipse的开发人员来说,迁移到Studio对他们来说是一场噩梦.Eclipse死了(我的个人意见).

对于NoClassDefFoundError问题,请选择goto rebuild选项Project > Clean,然后选择要清理的项目.然后重新启动Eclipse并再次运行.

解决方案

检查你的classpath包含那个jar(AppCompat),如果你的类路径不包含jar,那么只需在你的类路径中添加该类.

您应该使用Android Studio而不是Eclipse.读

  1. 支持库功能

此库的Gradle构建脚本依赖项标识符如下:

com.android.support:appcompat-v7:24.2.1
Run Code Online (Sandbox Code Playgroud)

然后 Clean-Rebuild-Restart IDE

  • @IntelliJAmiya您问我在Android Studio中遇到同样的问题,我已经在我的主应用程序和aar应用程序中导入了这个库. (4认同)

小智 8

就我而言

  1. 干净的项目
  2. 无效并重新启动

这是工作


Roc*_*ist 5

造成这种情况的另一个丑陋原因是,如果您尝试在活动创建期间发生的某些事情上附加带有断点的调试器。