Android:NoClassDefFoundError android.os.AsyncTask

use*_*605 15 android noclassdeffounderror android-asynctask

几周之后,我看到越来越多的应用程序崩溃,但有以下异常

致命异常:java.lang.NoClassDefFoundError android.os.AsyncTask

这个代码运行了一个月没有任何问题,现在似乎在某些设备上失败(75%android 2.3.x和25%android 4.0.3)当我创建一个扩展AsyncTask的类的新实例时,它失败了.

我从UI线程创建这个类.

如何在SDK中定义该类?

Wil*_*iam 11

是的,看起来这是其中一个版本的Google Play服务的问题.请参阅https://code.google.com/p/android/issues/detail?id=81083

解决方法是添加:

try {
      Class.forName("android.os.AsyncTask");
}
catch(Throwable ignore) {
      // ignored
}
Run Code Online (Sandbox Code Playgroud)

进入你的 Application#onCreate()

这似乎可以确保根类加载器加载AsyncTask,以便随后可以从Play服务中获取.