java.lang.NoClassDefFoundError:无法解决以下问题:Landroid/support/v4/os/BuildCompat [英] java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/os/BuildCompat

查看:935
本文介绍了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

推荐答案

您将获得 ClassNotFoundException

You are getting NoClassDefFoundError & ClassNotFoundException

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

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 > Clean下的 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天全站免登陆