Immer NoClassDefFoundError: android.os.AsyncTask
Dieses problem wurde stört mich etwas, und ich kann nicht finden, eine zufriedenstellende Lösung zu finden.
Oft (nicht immer) in der Schaffung eines spezifischen Objekts auf dem Android-emulator, bekomme ich NoClassDefFoundError: android.os.AsynchTask.
Ich habe versucht, viele Ansätze entfernen und neu-hinzufügen von externen Bibliotheken mehrere Male und wischte sich den emulator Neustarten IntelliJ (einmal geklappt aber dann kam der gleiche Fehler.) An dieser Stelle alles, was ich bin versucht zu tun ist erstellen die meisten barebones AsyncTask und ich bekomme immer noch den Fehler.
Hier ist die ganze Fehlermeldung:
08-06 16:24:43.546: ERROR/AndroidRuntime(331): FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: android.os.AsyncTask
at com.myapp.activity.StatisticsActivity.onCreate(StatisticsActivity.java:79)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Der emulator läuft 2.2, meine minSDK 8. Hier ist der problematische code:
public class StatisticsActivity extends TabActivity implements AsynchDataDisplay{
...
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.statistics);
StatisticsProvider sp = new StatisticsProvider();
...
}
}
Und die StatisticsProvider Objekt:
private class StatisticsProvider extends AsyncTask{
@Override
protected Object doInBackground(Object... objects) {
return null;
}
}
- hmm... wie kommen die
NoClassFoundDefError
ist für AsyncTask und nicht StatisticsProvider ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
OK, wie es aussieht, ist ein problem mit einer der Versionen von Google play Services. Sehen https://code.google.com/p/android/issues/detail?id=81083
Sieht aus wie ein umgehen könnte hinzufügen:
in Ihre
Application#onCreate()
Wenn Sie nicht bereits über eine Application-Klasse erstellen Sie dann eine Klasse, die Sie erweitert aus
android.app.Application
und#onCreate()
Ich glaube, ich habe es geknackt.
Den thread zum laden von anzeigen in meiner app werfen würde eine nicht abgefangene Ausnahme früh auf, die in einer Weise, die ich nicht 100% verstehe, verursacht der worker-thread nicht mehr reagiert. Wenn das Programm versucht zu erstellen, der den AsyncTask der class-loader funktionierte nicht.
Moralischen, einen Urlaub zu nehmen und kommen zurück mit neuen Augen.
Versuchen Sie, einen einfachen Konstruktor in StatisticsProvider und überprüfen.