【问题标题】:Java class error androidJava类错误android
【发布时间】:2015-03-13 12:35:17
【问题描述】:
03-13 15:27:57.592: I/Process(1985): Sending signal. PID: 1985 SIG: 9
03-13 15:27:58.558: D/AndroidRuntime(2062): Shutting down VM
03-13 15:27:58.558: E/AndroidRuntime(2062): FATAL EXCEPTION: main
03-13 15:27:58.558: E/AndroidRuntime(2062): Process: com.example.cabbookinghome, PID: 2062
03-13 15:27:58.558: E/AndroidRuntime(2062): java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/appcompat/R$styleable;
03-13 15:27:58.558: E/AndroidRuntime(2062):     at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:106)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:57)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:99)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at com.example.cabbookinghome.SplashActivity.onCreate(SplashActivity.java:38)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at android.app.Activity.performCreate(Activity.java:5933)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at android.app.ActivityThread.access$800(ActivityThread.java:144)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at android.os.Handler.dispatchMessage(Handler.java:102)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at android.os.Looper.loop(Looper.java:135)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at android.app.ActivityThread.main(ActivityThread.java:5221)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at java.lang.reflect.Method.invoke(Native Method)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at java.lang.reflect.Method.invoke(Method.java:372)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
03-13 15:27:58.558: E/AndroidRuntime(2062): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.appcompat.R$styleable" on path: DexPathList[[zip file "/data/app/com.example.cabbookinghome-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
03-13 15:27:58.558: E/AndroidRuntime(2062):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
03-13 15:27:58.558: E/AndroidRuntime(2062):     at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
03-13 15:27:58.558: E/AndroidRuntime(2062):     ... 17 more
03-13 15:27:58.558: E/AndroidRuntime(2062):     Suppressed: java.lang.ClassNotFoundException: android.support.v7.appcompat.R$styleable
03-13 15:27:58.558: E/AndroidRuntime(2062):         at java.lang.Class.classForName(Native Method)
03-13 15:27:58.558: E/AndroidRuntime(2062):         at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
03-13 15:27:58.558: E/AndroidRuntime(2062):         at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
03-13 15:27:58.558: E/AndroidRuntime(2062):         at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
03-13 15:27:58.558: E/AndroidRuntime(2062):         ... 18 more
03-13 15:27:58.558: E/AndroidRuntime(2062):     Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

这里有人可以告诉我哪里出了问题或为什么我没有收到类错误吗?

【问题讨论】:

  • 这不是一个通用 Java 问题的重复。这是一个非常重复的问题,但需要指出一个特定于此类 Android 问题的问题,特别是关于如何在编译时存在类但在运行时丢失的问题 - 特定包的一个非常常见的问题是在这种情况下丢失。
  • 您可能没有正确设置支持 v7
  • 如果您发布了一个包含v7 support library 依赖项的build.gradle˙文件,那就太好了
  • 我有时候也遇到过,不知道是什么原因,重新编译试试

标签: java android apk


【解决方案1】:

这里唯一有意义的一行是:

 java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/appcompat/R$styleable;

这意味着编译器找不到Android的appcompat库。 检查您的 build.gradle 是否包含以下行:

compile 'com.android.support:appcompat-v7:22.+'

【讨论】:

  • 避免使用+号。我建议您坚持使用固定版本。
  • 是的,你是对的。当库以破坏向后兼容性的方式更改时,这有助于避免突然的编译失败。
猜你喜欢
  • 2013-07-07
  • 2018-12-28
  • 2014-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-08
相关资源
最近更新 更多