java.lang.NoClassDefFoundError:解析失败:Landroid/support/v4/os/BuildCompat [英] java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/os/BuildCompat

查看:29
本文介绍了java.lang.NoClassDefFoundError:解析失败:Landroid/support/v4/os/BuildCompat的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已将 Eclipse 安装中的 AppCompat 库更新为 24.2.1,并将 SDK 更新为 Android 7.从那以后,我无法运行我的任何应用程序.如果你能帮上忙,我很感激...

I have updated the AppCompat libraries to 24.2.1 and the SDK to Android 7 in my Eclipse install. Since that, I'm not capable to run any of my apps. I appreciate if you can help a bit with that...

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

推荐答案

您正在获得 NoClassDefFoundError &ClassNotFoundException

You are getting NoClassDefFoundError & ClassNotFoundException

Java 中的 NoClassDefFoundError 在 Java 虚拟机不存在时出现能够在运行时找到一个特定的类,该类在编译时间.

NoClassDefFoundError in Java comes when Java Virtual Machine is not able to find a particular class at runtime which was available at compile time.

仅供参考

您正在使用 Eclipse.Android Studio 是一种更简单的 Android 开发方式,如果你设法掌握它的窍门.对于一直在使用 Eclipse 的开发人员来说,迁移到 Studio 对他们来说是一场噩梦.Eclipse 已死(我的个人观点).

You are using Eclipse. Android Studio is a far simpler way to develop for Android if you manage to get the hang of it. For developers who have been using Eclipse, migrating to Studio is a nightmare for them. Eclipse is dead (My personal opinion).

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

For your NoClassDefFoundError problem goto rebuild option under Project > Clean and then select the project you want to clean up .Then Restart your Eclipse and run again .

解决方案

检查您的类路径是否包含该 jar (AppCompat),如果您的类路径不包含 jar,然后只需在类路径中添加该类.

Check your classpath contains that jar (AppCompat), if your classpath doesn't contain the jar then just add that class in your classpath.

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

You should Use Android Studio instead of Eclipse . Read

  1. 支持库功能

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

The Gradle build script dependency identifier for this library is as follows:

com.android.support:appcompat-v7:24.2.1

然后Clean-Rebuild-Restart IDE

Then Clean-Rebuild-Restart IDE

这篇关于java.lang.NoClassDefFoundError:解析失败:Landroid/support/v4/os/BuildCompat的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆