555 Stimmen

Fehler Typ 3 Fehler: Aktivitätsklasse {} existiert nicht

Ich habe ein IntelliJ Android-Projekt, das ich erfolgreich in Android Studio 0.4.0 importiert habe. Es funktioniert perfekt, wenn ich nichts im Manifest ändere. Wenn ich jedoch die Startaktivität ändern und ausführen möchte, schlägt es mit diesem Fehler fehl:

Anwendung wird gestartet: com.trackingeng/LandingActivity.
GERÄTE-SHELL-BEFEHL: am start -D -n "com.trackingeng/LandingActivity"  
    -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starten: Intent { act=android.intent.action.MAIN  
    cat=[android.intent.category.LAUNCHER] cmp=com.trackingeng/LandingActivity }
Fehler Typ 3
Fehler: Aktivitätsklasse {com.trackingeng/LandingActivity} existiert nicht.

Wenn ich auf Projekt mit Gradle-Dateien synchronisieren klicke, wird folgendes ausgegeben:

Projektsynchronisierung
Das Projekt 'TrackingEng' ist kein auf Gradle basierendes Projekt.

Ausführungseinstellungen: Bildbeschreibung hier eingeben

5voto

Irshad Babar Punkte 1213

In meinem Fall habe ich tatsächlich den Paketnamen geändert, was dazu geführt hat, dass dieses Problem auftritt.

Ich habe viele Tricks ausprobiert, aber hier beschreibe ich, was tatsächlich für mich funktioniert hat.

  1. Löschen Sie Ihren Build-Ordner, dieser enthält auch das clean (also brauchen Sie es nicht zu bereinigen).
  2. Versuchen Sie, Android Studio neu zu starten. Wenn dies nicht funktioniert, löschen Sie auch den Cache.
  3. Wenn es immer noch Fehler gibt, versuchen Sie, die Daten Ihres Emulators zu löschen. Hoffentlich wird das das Problem lösen.

Stellen Sie sicher, dass der Name Ihrer Aktivität korrekt ist und überprüfen Sie auch, ob der Paketname in der Manifestdatei korrekt ist.

5voto

Build3r Punkte 1578

Auch ich hatte das gleiche Problem, aber keine der obigen Lösungen hat für mich funktioniert. Das Problem war, dass ich die bestimmte App eingefroren hatte, die ich versuchte, über Titanium Backup auszuführen, wodurch der obige Fehler auftrat. Ich habe es sowohl in Eclipse als auch in Android Studio versucht.

Nachdem ich mir dessen bewusst wurde, habe ich die App einfach deinstalliert und dann erneut ausgeführt.

5voto

peppered Punkte 678

Ich möchte den Trick teilen, der in meinem Fall geholfen hat. Ich habe die Anwendung vom Gerät deinstalliert und keiner der sauberen/neu erstellten/Android Studio Neustartvorgänge hat geholfen.

Da Android Studio denkt, dass die Anwendung immer noch auf dem Gerät installiert ist und sie nicht bereitstellt, können Sie die Installation mit dem ADB erzwingen:

adb install -r 

wo -r bedeutet, die App neu zu installieren, wobei ihre Daten erhalten bleiben.

4voto

lRadha Punkte 631

Ich habe auch irgendwann in der Vergangenheit dasselbe Problem gehabt. Solche Probleme treten tatsächlich auf, wenn wir Refactoring durchführen wie - Umbenennen, Verschieben von Dateien innerhalb des Projekts usw. Das Umbenennen und Verschieben von Dateien erfordert Änderungen in der Gradle-Datei, also reinigen Sie das Projekt einfach, wenn Sie eine Datei umbenennen oder verschieben:

Build -> Projekt bereinigen

Das Bereinigen des Projekts entfernt einfach die .class Dateien und kompiliert das Projekt neu. Im Grunde erzwingt es einen Projektneuaufbau.

Manchmal werden solche Arten von Fehlern beim Bereinigen des Projekts nicht behoben, dann versuchen Sie, die App vom Gerät zu deinstallieren (ob es sich um einen Emulator oder ein physisches Gerät handelt) und die App erneut auszuführen. Hoffentlich hilft Ihnen das, es hilft mir 50% der Zeit.

Hinweis:- Immer wenn Sie einen Fehler erhalten, gehen Sie nicht einfach zu Google, bereinigen Sie das Projekt, wenn dies nicht funktioniert, tun Sie, was Sie bei Google tun möchten.

4voto

Josef Vancura Punkte 981

Wenn Ihre App noch nicht auf dem Gerät installiert ist (getestet auf Android 9):

  1. APK erstellen
  2. APK auf das Gerät verschieben und installieren
  3. Zurück zu Android Studio gehen und auf "Ausführen" drücken, um die App zu starten

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