java.lang.NoClassDefFoundError:无法解析:Landroid/support/v4/os/BuildCompat

2024-02-17

我已在 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

你正在得到没有发现类定义错误 https://docs.oracle.com/javase/7/docs/api/java/lang/NoClassDefFoundError.html & 类未找到异常 https://docs.oracle.com/javase/7/docs/api/java/lang/ClassNotFoundException.html

当 Java 虚拟机不存在时,Java 中会出现 NoClassDefFoundError 能够在运行时找到可用的特定类 编译时间。

FYI

您正在使用 Eclipse。安卓工作室 https://developer.android.com/studio/install.html如果您能掌握窍门的话,这是一种更简单的 Android 开发方法。对于一直使用Eclipse的开发人员来说,迁移到Studio对他们来说是一场噩梦。 Eclipse 已经死了(我个人的观点)。

为您没有发现类定义错误问题转到rebuild下的选项Project > Clean然后选择你想要的项目clean up。然后重新启动 Eclipse 并再次运行。

解决方案

检查您的类路径是否包含该 jar (AppCompat),如果您的类路径 不包含 jar,那么只需将该类添加到您的类路径中即可。

你应该使用Android Studio 代替 Eclipse . Read

  1. 支持库功能 https://developer.android.com/topic/libraries/support-library/features.html

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

com.android.support:appcompat-v7:24.2.1

Then Clean-Rebuild-Restart IDE

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.lang.NoClassDefFoundError:无法解析:Landroid/support/v4/os/BuildCompat 的相关文章

随机推荐