6 Stimmen

Nicht in der Lage, Aktivität java.lang.ClassNotFoundException zu instanziieren.

Ich habe den folgenden Fehler während des Entwicklungszyklus einige Male gesehen und habe jetzt gerade einen Fehlerbericht erhalten. Ich habe keine Ahnung, was das verursacht. Nachdem ich ähnliche Fragen zu diesem Thema auf dieser Seite gelesen habe, habe ich meinen AndroidManifest doppelt überprüft und für mich sieht alles in Ordnung aus. Irgendwelche Ideen, was möglicherweise diese Ausnahme verursacht?

java.lang.RuntimeException: Aktivität ComponentInfo{com.jerrellmardis.ridecta/com.jerrellmardis.ridecta.ui.StopTimesActivity} kann nicht instanziiert werden: java.lang.ClassNotFoundException: com.jerrellmardis.ridecta.ui.StopTimesActivity
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1983)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
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:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.jerrellmardis.ridecta.ui.StopTimesActivity
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1974)
... 11 more

Eine weitere Sache, die zu beachten ist, ist, dass ich die android-support-v4-googlemaps-Bibliothek verwende, die unter https://github.com/petedoyle/android-support-v4-googlemaps gefunden werden kann und es mir ermöglicht, eine MapView in einem Fragment einzubetten (zusammen mit der ActionBarSherlock-Bibliothek). Diese Ausnahme scheint ein Abhängigkeitsproblem zu sein und ich bin mir nicht sicher, ob es mit der Verwendung der oben genannten Bibliotheken zusammenhängt.

Hier ist die Manifest-Datei:

0voto

Cook Chen Punkte 377

Wenn Sie die Aktivität bereits zum AndroidManifest hinzugefügt haben und die Aktivität in Ihrem Projekt existiert, schlage ich vor, dass Sie einfach sauber machen und neu erstellen und es dann erneut versuchen. Aber ich habe ein weiteres seltsames Problem, nämlich dass die apk-Datei, die von Eclipse erstellt wurde, abstürzt und das Problem "ClassNotFoundException mit Applikation" meldet, während die apk-Datei, die von Ant erstellt wurde, normal ausgeführt werden kann, ohne Probleme.

Vielleicht können Sie auch versuchen, es mit Ant zu bauen, mit dem Befehl "android update project -p .".

0voto

Anup Cowkur Punkte 20163

Um Fehler wie diese zu vermeiden, befolgen Sie einfach diese Schritte, wann immer Sie eine neue Klasse erstellen müssen;

  1. Doppelklicken Sie auf AndroidManifest.xml im Paket-Explorer.
  2. Klicken Sie auf den "Application"-Tab des Manifest-Editors
  3. Klicken Sie auf "Hinzufügen .." unter der Überschrift "Anwendungsknoten" (unten links vom Bildschirm)
  4. Wählen Sie Aktivität aus der Liste im Dialogfeld aus, das erscheint (wenn Sie die Option haben, möchten Sie ein neues Top-Level-Element erstellen)
  5. Klicken Sie auf den Link "Name*" unter der Überschrift "Attribute für" (unten rechts im Fenster), um eine Klasse für die neue Aktivität zu erstellen.
  6. Wenn Sie auf Fertig stellen im Dialogfeld für die neue Klasse klicken, bringt es Sie zu Ihrer neuen Aktivitätsklasse, damit Sie mit der Codierung beginnen können.

Kopieren Sie einfach Ihren Code aus Ihrer Aktivität, löschen Sie die Datei und erstellen Sie sie erneut wie hier beschrieben, dann werden alle Ihre Konfigurationsprobleme behoben.

0voto

Robert Estivill Punkte 12160

Wo hast du die android-support-v4-googlemaps.jar Datei kopiert? innerhalb von actionbarsherlock/library/libs? oder innerhalb von your_app/libs?

Überprüfe, dass du nicht zwei verschiedene Versionen der Unterstützungsbibliotheken einbindest (eine mit Karten und eine ohne).

0voto

oracleicom Punkte 918

Es sieht so aus, als ob ich das Problem behoben habe, indem ich die android-support-v4-googlemaps lib nicht mehr benutzt habe. Ich habe meine App geändert, um ein ImageView der Karte in einem Fragment zu verwenden und dann eine einfache MapActivity, sobald der Benutzer auf das Kartenbild klickt. Seitdem ich das gemacht habe, sind mir keine RuntimeExceptions aufgefallen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X