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

821voto

S1LENT WARRIOR Punkte 11174

Ich hatte nach dem Refactoring ein ähnliches Problem.
So habe ich das Problem gelöst:

  1. Projekt gereinigt
  2. Build-Ordner gelöscht
  3. Android Studio neu gestartet
  4. Projekt neu erstellt
  5. Ausgeführt
  6. Optional (Gehe im Dateimenü auf Android, klicke auf "Caches ungültig machen / Neustart..." deinstalliere die App auf deinem Telefon und versuche es erneut)

Und alles hat wunderbar funktioniert!
Ich denke, der Schlüssel ist es, deine IDE neu zu starten.

Bearbeiten 1:
Falls die obigen Schritte für dich nicht funktionieren, scheint das Löschen des Gradle-Cache eine Lösung zu sein, wie von @Yasitha erwähnt.

Bearbeiten 2
Wie von einigen Benutzern in den Kommentaren unten vorgeschlagen, kann das Problem manchmal gelöst werden, indem die App vollständig von deinem Gerät entfernt und neu installiert wird.
Gib einfach adb deinstallieren in das Terminal ein, um die App vollständig vom Gerät zu entfernen.

Bearbeiten 3
Wie in Abhisheks Antwort erwähnt, sollte man auch versuchen, die App von seinem Gerät zu löschen, wenn mehrere Benutzer auf dem Gerät eingerichtet sind.
Gehe einfach zu Geräteeinstellungen > Apps > [Deine App] > Mehr > App für alle Benutzer deinstallieren

Bearbeiten 4
Wie von Yassin Ajdi erwähnt, kann auch das Ausführen der uninstallAll Gradle-Aufgabe das Problem beheben.
Du kannst zu Gradle > Aufgaben > Installieren > uninstallAll gehen, um die Aufgabe zu erledigen.

UPDATE für Android Studio 2.1 und höher

Bei der Verwendung von Android Studio 2.1 und höher kann dieses Problem auch auftreten, wenn die Option "Sofortige Ausführung" in den Einstellungen aktiviert ist (ist standardmäßig aktiviert).

Um diese Option zu deaktivieren, gehe zum Einstellungen im oberen Menü von Android Studio und suche nach Sofortige Ausführung, damit du das erste Kontrollkästchen auf diesem Bildschirm deaktivieren kannst.

Sofortige Ausführung in Android Studio 2.1+ deaktivieren

Wie auch immer, das hat das Problem für mich behoben. Ursprünglich hingewiesen von Benutzer @yusufonder. Ich habe herausgefunden, dass dies das Problem war, da gradle install immer noch funktionierte.

378voto

Nicks Punkte 15662

Manchmal, wenn Sie auf einem Gerät testen, wird die App nicht ordnungsgemäß deinstalliert. Um dies zu überprüfen und zu beheben:

  1. Gehen Sie zu Einstellungen.
  2. Gehen Sie zu Apps.
  3. Wählen Sie Ihre App aus. (hier können Sie überprüfen, ob Ihre App nicht ordnungsgemäß deinstalliert wird).
  4. Öffnen Sie das Überlaufmenü oben rechts und wählen Sie Deinstallieren für alle Benutzer.
  5. Fertig. Versuchen Sie dann, Ihre App erneut zu installieren und zu starten.

123voto

Sakiboy Punkte 6765

Ich würde auf dieses Problem stoßen, wenn ich die App über das Gerät deinstalliere (d.h. die App zur Option "Deinstallieren" ziehe). Aber hier ist der richtige Weg, um zu deinstallieren:

Verwenden Sie den Befehl ./gradlew uninstallAll. Dies verhindert den Fehler Error: Activity class {HomeActivity} does not exist..

Update:

Wenn Sie faul sind, können Sie die Abkürzung für diese Aufgabe verwenden: ./gradlew uA.

Oder legen Sie Aliase für gängige Gradle-Aufgaben in Ihrer .bash_profile fest. Dadurch sparen Sie Zeit, Tipparbeit und müssen sich nicht jedes Kommando merken oder sich um Tippfehler sorgen. Ich empfehle dies zu tun.

79voto

Yassin Ajdi Punkte 1550

Ich hatte dasselbe Problem und so habe ich es gelöst:

Gehen Sie zu Gradle > Aufgaben > Installieren > alle deinstallieren

Bildbeschreibung hier eingeben

74voto

Ankit Punkte 891

Dies geschieht, wenn Sie folgendes tun:

  • Verbinden Sie Ihr Gerät/Emulator
  • Führen Sie die App von Android Studio (AS) aus
  • Verwenden/Testen Sie die App und deinstallieren Sie sie vom Gerät, während es immer noch mit Ihrem Computer verbunden ist
  • Versuchen Sie die App erneut von AS auszuführen

AS denkt, dass die App immer noch auf Ihrem Gerät ist.

Um dieses Problem zu lösen, können Sie Ihr Gerät einfach nach der Deinstallation der App trennen und erneut verbinden.

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