Unable to instantiate activity ComponentInfo
Ich entwickle eine Anwendung für Froyo als minimum version und Lebkuchen als target-version. So, das manifest zeigt:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="10"/>
Ich habe einen emulator und ein Nexus One mit Gingerbread, und die Anwendung bereitgestellt und ordnungsgemäß installiert ist.
Aber wenn es startet, stürzt es ab, und der Fehler ausgelöst, in der log steht:
09-18 06:35:11.240: ERROR/AndroidRuntime(382): FATAL EXCEPTION: main
09-18 06:35:11.240: ERROR/AndroidRuntime(382): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.my.package/com.my.package.Dashboard}: java.lang.ClassNotFoundException: com.my.package.Dashboard in loader dalvik.system.PathClassLoader[/data/app/com.my.package-2.apk]
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.os.Handler.dispatchMessage(Handler.java:99)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.os.Looper.loop(Looper.java:130)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread.main(ActivityThread.java:3683)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at java.lang.reflect.Method.invokeNative(Native Method)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at java.lang.reflect.Method.invoke(Method.java:507)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at dalvik.system.NativeStart.main(Native Method)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): Caused by: java.lang.ClassNotFoundException: com.my.package.Dashboard in loader dalvik.system.PathClassLoader[/data/app/com.my.package-2.apk]
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): ... 11 more
Und ja, die Aktivität "Dashboard" ist im Manifest deklariert:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.my.package"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="auto">
<activity android:name=".Dashboard"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
...
Also was kann das problem sein?? Dies treibt mich Nüsse.
können diese zwei Linien Sinn machen com.meine.Paket und /data/app/com.meine.Paket-2.apk?
Ich weiß nicht, was du meinst.
prüfen Sie einfach in Ihrem ddms file explorer in data/app/<Paketname> ist dieselbe, wie Sie in der Klasse zu bauen.
Als mein Gerät ist gerootet, ich kann nicht durchsuchen. Aber die /data-Ordner leer ist, kann ich sehen, dass aus dem Datei-browser, die ich auf dem Handy installiert haben.
Ich weiß nicht, was du meinst.
prüfen Sie einfach in Ihrem ddms file explorer in data/app/<Paketname> ist dieselbe, wie Sie in der Klasse zu bauen.
Als mein Gerät ist gerootet, ich kann nicht durchsuchen. Aber die /data-Ordner leer ist, kann ich sehen, dass aus dem Datei-browser, die ich auf dem Handy installiert haben.
InformationsquelleAutor frapontillo | 2011-09-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte dieses problem als auch die Entwicklung unter Eclipse 4.2. Meine Haupttätigkeit auf die verwiesen wurde, durch die AndroidManifest.xml Datei, inklusive der korrekten Paket-und Namen, aber noch nicht geladen. Nach ein bisschen Debuggen und kommentieren Dinge, entdeckte ich, dass eine Schnittstelle, die meine Haupttätigkeit lag in der Implementierung war die Quelle des Problems. Diese Schnittstelle definiert ist, die in einem separate Projekt, aber ich habe es versäumt, darauf hinzuweisen, dass Projekt in der Java Build Path. Also, wenn ich Dinge gebaut, die Sie bauen würde, richtig, aber ich würde sofort auch eine force close, wenn ich ins Leben gerufen, mit dem gleichen Fehler, wie diese Frage.
Um dies zu korrigieren, ich klickte mit der rechten Maustaste auf das Android Projekt ausgewählt Java Build Path, noch meine "gemeinsamen code" - Projekt, um die Projekte " und dann ein Häkchen in der box für das gleiche Projekt auf dem Um und Export tab. Danach funktionierte alles.
InformationsquelleAutor MutantXenu
Habe ich behoben dieses problem leicht durch die Wiederherstellung der Projekt-Eigenschaften:
Dann Ihre Abhängigkeiten werden restauriert, wie neu und alles ok sein wird!
InformationsquelleAutor Adel
Meine Lösung war, im Projekt --> Eigenschaften --> Java Build Path --> Bestellen und Exportieren, sollten Sie die Häkchen der Einträge, die Sie verwenden. ABER auch ich erlebt, wenn Sie kreuzen Android.jar es sagt "Conversion to Dalvik format failed with error 1"
Entfernen auch alle Ihre Bibliotheken, außer Android.x.x und dann reinigen Sie Ihr Projekt, indem Sie Projekt --> rein und dann hinzufügen Ihre Bibliotheken zurück (nicht vergessen das Häkchen in Ordnung und export) lösen können, die "Conversion to Dalvik format failed with error 1" - Ding.
Und noch ein Ort, den Sie brauchen, um zu überprüfen, ist Eigenschaften --> Java-Compiler --> JDK Compliance.
InformationsquelleAutor Ozan Atmar
Für mich, als es war während einer Aktualisierung von phonegap (von 1.4 auf 1.8.1 ).
Ich hatte zu aktualisieren, die .Projekt - Datei auf root-Projekt.
Ich habe ein neues Projekt erstellen und vergleichen Sie die neue Datei mit dem ehemaligen.
InformationsquelleAutor Lélé
Können Sie beheben diesen Fehler, indem korrigiert wird, wie der name der Klasse Ihrer Tätigkeit in Ihrer manifest-Datei
InformationsquelleAutor Mohammed Subhi Sheikh Quroush
Ich mein Problem gelöst, indem die überprüfung der Android Private Libraries und Android-Abhängigkeiten unter die Bestellung und Exportieren im Java Build path
InformationsquelleAutor zacharia
Für die Aufzeichnung, ein weiterer einfacher Grund, die das verursachen kann, die möglicherweise übersehen wurden, wenn Sie ein Projekt starten, ist, dass die Tätigkeit, die Sie ausführen möchten, nicht haben können erweiterte Aktivität oder eine leere Klasse etc..
InformationsquelleAutor Morton
Als es stellt sich heraus, das Projekt-Dateien fehlen einige der Bauherren erforderlich für die apk richtig gemacht. Das ist, warum es nicht in der Lage war zu finden, die Dashboard-Klasse.
Die Lösung ist, erstellen Sie einen leeren Android-Projekts und vergleichen Sie die automatisch generiert wird .Projekt-und .properties-Dateien mit der diejenigen, die in Ihrem gebrochenen Projekt.
InformationsquelleAutor frapontillo
Ich hatte das gleiche problem, aber ich hatte alles richtig definiert. Ich nahm eine weitere Kopie des gleichen Projekt von meinem SVN und ich wurde immer diese Fehlermeldung, im zweiten Projekt.
Starten Sie Eclipse: dies wird aktualisiert, eclipse Speicher. Es war für mich
InformationsquelleAutor CodeNinja
Endlich habe ich es gelöst, indem zwei android-support-v4.jar das gleiche.. nur kopiert android-support-v4.jar in allen Projekten rund um Ihr Projekt und ersetzen Sie Sie..
mit dem hinzufügen dieses zu Ihrem android-manifest
InformationsquelleAutor waelhe
Fand ich dieser Beitrag mit einer ähnlichen Frage und eine Menge von verschiedenen möglichen Lösungen. Aber in meinem Fall war das problem in meinem Android-Projekt-Einstellungen. Irgendwie ist mein Projekt Java build path wurde nicht mit der source-Ordner. Und das ist, warum meine manifest-Datei war nicht in der Lage zu finden, die activity-Klasse. Ich löste dieses problem durch die Verknüpfung der src-Ordner. So zu tun, klicken Sie rechts auf das Projekt "Eigenschaften"->"Java Build Path". Dann wählen Sie die Registerkarte "Quelle". Prüfen Sie, ob Ihr src-Ordner ist hier aufgelistet. Wenn nicht, klicken Sie auf "Ordner Hinzufügen..." und navigieren Sie dann zu Ihren src-Ordner des Projekts.
InformationsquelleAutor user3614003
Heute hatte ich dasselbe Problem und es war problem mit der main-Klasse zu benennen. Es war IdleActivity und sobald ich änderte es, indem Sie IdleDnaActivity, Anwendung erfolgreich gestartet.
InformationsquelleAutor Matjaz