Ich habe ein IntelliJ Android-Projekt, das ich erfolgreich in Android Studio 0.4.0 importiert. Es funktioniert perfekt, wenn ich nichts im Manifest ändere. Allerdings, wenn ich die Launcher-Aktivität ändern und ausführen möchten, schlägt es mit diesem Fehler:
Launching application: com.trackingeng/LandingActivity.
DEVICE SHELL COMMAND: am start -D -n "com.trackingeng/LandingActivity"
-a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent { act=android.intent.action.MAIN
cat=[android.intent.category.LAUNCHER] cmp=com.trackingeng/LandingActivity }
Error type 3
Error: Activity class {com.trackingeng/LandingActivity} does not exist.
Wenn ich auf Projekt mit Gradle-Dateien synchronisieren klicke, wird dies ausgegeben:
Project Sync
The project 'TrackingEng' is not a Gradle-based project
Einstellungen ausführen:
Nach dem Refactoring stand ich vor einem ähnlichen Problem.
Dies ist, was ich tat, um dieses Problem zu lösen:
Build
Verzeichnis gelöschtUnd alles hat gut funktioniert!
Ich denke, der Schlüssel ist zu neustarten Sie Ihre IDE.
Ich hoffe, das hilft Ihnen oder jemand anderem!
Edit 1: Wenn die obigen Schritte nicht funktionieren, dann scheint das Löschen des Gradle-Caches eine Lösung zu sein, wie @Yasitha feststellte.
Bearbeiten 2
Wie von einigen Nutzern in den Kommentaren unten vorgeschlagen, kann das Problem manchmal durch vollständiges Entfernen und Neuinstallieren der App von Ihrem Gerät behoben werden.
Geben Sie einfach "adb uninstall
Edit 3
Wie in Abhishek's Antwort erwähnt, sollte man auch versuchen, die App von Ihrem Gerät zu löschen, falls mehrere Benutzer auf Ihrem Gerät eingerichtet sind.
Gehen Sie einfach zu "Handy-Einstellungen > Apps > [Ihre App] > Mehr > App für alle Benutzer deinstallieren".
UPDATE für Android Studio 2.1 und höher
Wenn Sie Android Studio 2.1 und höher verwenden, kann dieses Problem auch auftreten, wenn Sie die Option "Sofortige Ausführung" in Ihren Einstellungen aktiviert haben (ist standardmäßig aktiviert).
Um diese Option zu deaktivieren, gehen Sie zur Option "Einstellungen" im oberen Menü von "Android Studio" und suchen Sie nach "Instant Run", damit Sie das erste Kontrollkästchen auf diesem Bildschirm deaktivieren können.
Deaktivieren Sie Instant Run in Android Studio 2.1+]2
Damit war das Problem für mich jedenfalls gelöst. Ursprünglich wurde ich vom Benutzer @yusufonder darauf hingewiesen. Ich entdeckte, dass dies das Problem war, da gradle install noch funktionierte.
Ich hatte den gleichen Fehler nach dem Umbenennen/Refactoring. Ich habe das Attribut "applicationId" zu meiner build.gradle-Datei hinzugefügt und seinen Wert auf das Anwendungspaket gesetzt.
In build.gradle:
android {
defaultConfig {
applicationId "com.example.myapp"
}
}
AndroidManifest.xml
zu ändern.Momentan steht dort:
<activity android:name="LandingActivity" >
Versuchen Sie entweder einen Punkt am Anfang des Namens der Aktivität hinzuzufügen:
<activity android:name=".LandingActivity" >
Oder Fügen Sie den Paketnamen an den Anfang des Namens der Aktivität an:
<activity android:name="com.trackingeng.LandingActivity" >
Es kann auch ein Problem sein, dass Ihr Paketname nur zwei durch Punkte getrennte Komponenten hat (Ihr Paketname ist "com.trackingeng" ein standardmäßigerer Paketname wäre "com.trackingeng.app")