我已在 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
- 支持库功能 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(使用前将#替换为@)