执行 AsyncTask 时出现 NoClassDefFoundError
NoClassDefFoundError on executing AsyncTask
我的 android 应用程序中有一个 AsyncTask。这适用于 android 19(或更高版本),但是当我尝试 运行 应用程序并在 android 15 中执行此异步任务时,返回此异常:
9692-10041/com.test.debug E/ACRA﹕ com.test.debug fatal error : java.util.Objects[]
java.lang.NoClassDefFoundError: java.util.Objects[]
at com.test.ContentActivity.startContentTask(ContentActivity.java:181)
at com.test.ContentActivity.onCreate(ContentActivity.java:161)
at android.app.Activity.performCreate(Activity.java:4645)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1940)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2001)
at android.app.ActivityThread.access0(ActivityThread.java:129)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1153)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4516)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
我在build.gradle中添加了compile 'com.android.support:support-v4:21.0.3'
。
(在此 AsyncTask 中,我使用 HttpClient 并调用了 Web 服务)
class java.util.Objects
已在 Java 7 中引入,因此在 Android 平台的早期版本中不存在。
但是,由于 Objects
是一个没有实例的实用程序 class,使得该类型的数组非常无用,因此可以肯定的是,真正的错误在于引用此 class 而不是 java.lang.Object
.
我的 android 应用程序中有一个 AsyncTask。这适用于 android 19(或更高版本),但是当我尝试 运行 应用程序并在 android 15 中执行此异步任务时,返回此异常:
9692-10041/com.test.debug E/ACRA﹕ com.test.debug fatal error : java.util.Objects[]
java.lang.NoClassDefFoundError: java.util.Objects[]
at com.test.ContentActivity.startContentTask(ContentActivity.java:181)
at com.test.ContentActivity.onCreate(ContentActivity.java:161)
at android.app.Activity.performCreate(Activity.java:4645)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1940)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2001)
at android.app.ActivityThread.access0(ActivityThread.java:129)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1153)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4516)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
我在build.gradle中添加了compile 'com.android.support:support-v4:21.0.3'
。
(在此 AsyncTask 中,我使用 HttpClient 并调用了 Web 服务)
class java.util.Objects
已在 Java 7 中引入,因此在 Android 平台的早期版本中不存在。
但是,由于 Objects
是一个没有实例的实用程序 class,使得该类型的数组非常无用,因此可以肯定的是,真正的错误在于引用此 class 而不是 java.lang.Object
.