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 Launcher-Aktivität ändern und ausführen möchte, schlägt dies mit folgendem Fehler fehl:
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 Folgendes ausgegeben:
Project Sync
The project 'TrackingEng' is not a Gradle-based project
Einstellungen ausführen:
AndroidManifest.xml
oder nicht.Error: Activity class {...} does not exist.
für mich gelöst .Antworten:
Nach dem Refactoring hatte ich ein ähnliches Problem.
Folgendes habe ich getan, um dieses Problem zu beheben:
Build
Verzeichnis gelöschtUnd alles hat gut funktioniert!
Ich denke, der Schlüssel ist, Ihre IDE neu zu starten .
Hoffe das hilft dir oder sonst jemandem!
Bearbeiten 1:
Wenn die oben genannten Schritte für Sie nicht funktionieren, scheint das Löschen des Gradle-Cache eine Lösung zu sein, wie von @Yasitha hervorgehoben.
Bearbeiten 2
Wie von einigen Benutzern in den Kommentaren unten vorgeschlagen, kann das Problem manchmal behoben werden, indem die App vollständig von Ihrem Gerät entfernt und neu installiert wird.
Geben Sie einfach das
adb uninstall <package>
Terminal ein, um die App vollständig vom Gerät zu entfernen.Bearbeiten 3
Wie in Abhisheks Antwort erwähnt , sollte auch versucht werden, die App von Ihrem Gerät zu löschen, falls mehrere Benutzer auf Ihrem Gerät eingerichtet sind.
Einfach gehen zu
Mobile Settings > Apps > [Your App] > More > Uninstall App for All Users
UPDATE für Android Studio 2.1 und höher
Wenn Sie Android Studio 2.1 oder höher ausführen, kann dieses Problem auch auftreten, wenn Sie die Option für die sofortige Ausführung in Ihren Einstellungen aktiviert haben (standardmäßig aktiviert).
Um diese Option zu deaktivieren, gehen Sie zu der
Preferences
Option imAndroid Studio
oberen Menü und suchen Sie nach,Instant Run
damit Sie das erste Kontrollkästchen auf diesem Bildschirm deaktivieren können.Jedenfalls hat das das für mich behoben. Ursprünglich vom Benutzer @yusufonder darauf hingewiesen. Ich entdeckte, dass dies das Problem war, da die Gradle-Installation immer noch funktionierte.
quelle
Kann für jemanden hilfreich sein: -
Manchmal wird die App beim Testen auf einem Gerät nicht ordnungsgemäß deinstalliert . So überprüfen und beheben Sie dies:
quelle
adb uninstall {packageName}
das Problem gelöst.Dieses Problem tritt auf, wenn Sie die App über das Gerät deinstallieren (dh die App auf die Option "Deinstallieren" ziehen). Aber hier ist der richtige Weg, um zu deinstallieren:
Verwenden Sie den
./gradlew uninstallAll
Befehl. Dies verhindert dasError: Activity class {HomeActivity} does not exist.
Fehler.Aktualisieren:
Wenn Sie faul sind, können Sie die Abkürzung für diese Aufgabe verwenden:
./gradlew uA
.Oder definieren Sie Aliase für häufig verwendete Gradle-Aufgaben in Ihrem System. Dies
.bash_profile
spart Zeit beim Tippen und Sie müssen sich nicht an jeden Befehl erinnern oder sich um Tippfehler kümmern. Ich schlage vor, dies zu tun.quelle
Dies geschieht, wenn Sie Folgendes tun
AS glaubt, dass Sie die App noch auf Ihrem Gerät haben.
tl; dr - Um dies zu beheben, können Sie Ihr Gerät nach der Deinstallation der App einfach vom Computer trennen und erneut verbinden.
quelle
Die App ist bereits für einen anderen Benutzer installiert. Bitte versuchen Sie, die gleiche App für alle Benutzer zu deinstallieren. Dann versuche es.
Oder Sie können es versuchen, nachdem Sie den Befehl adb ausgeführt haben.
Dabei ist PACKAGE_NAME der vollständige Name, z. B. com.example.myapp
quelle
adb uninstall com.demo
wo mein App-Name wardemo
adb devices
Ich hatte das gleiche Problem und so habe ich es behoben.
Gehen Sie zu Gradle> Aufgaben> Installieren> Alle deinstallieren
quelle
uninstallAll
würde es gelöst werden? Vielen Dank.Ich hatte den gleichen Fehler nach dem Umbenennen / Refactoring. Ich habe das
applicationId
Eigenschaftsattribut zu meiner build.gradle-Datei hinzugefügt und den Wert auf das Anwendungspaket festgelegt.In build.gradle :
quelle
Versuchen Sie, den Namen der Aktivität in Ihrer
AndroidManifest.xml
Datei zu ändern .Im Moment heißt es:
Fügen Sie entweder einen Punkt am Anfang des Aktivitätsnamens hinzu:
Oder fügen Sie den Paketnamen am Anfang des Aktivitätsnamens hinzu:
Es kann auch ein Problem sein, dass Ihr Paketname nur zwei durch Punkte getrennte Komponenten enthält (Ihr Paketname lautet "com.trackingeng"; ein standardmäßigerer Paketname wäre "com.trackingeng.app").
quelle
Befolgen Sie die nachstehenden Schritte. Gehen Sie zu Mobileinstellungen> Apps> Ihre App> Mehr> Klicken Sie für alle Benutzer auf App deinstallieren.
Grund: Weil Sie mehrere Benutzer in Ihrem Telefon haben und diese App nur für einen deinstalliert haben.
GENIESSEN:
quelle
Ich denke, ein weiterer Grund für dieses Problem ist, dass es nicht für alle Benutzer auf dem Gerät vollständig gelöscht wird.
Gehen Sie zu Einstellungen -> Apps -> Ihre Apps -> Klicken Sie auf die 3 Punkte oben rechts -> Für alle Benutzer deinstallieren
Für mich geht das. Es kommt vor allem vor, dass Sie die Symbole der App ändern oder mit der Datei AndroidManifest.xml herumspielen.
quelle
Für mich war das Problem, dass ich
AndroidStudio
dachte , die App sei noch auf dem Gerät.Etwas reparieren:
Starten Sie den
adb
Daemon neu . Geben Sie in einem Terminal oder einer Eingabeaufforderung Folgendes ein:Versuchen Sie, Ihre App zu starten.
Wenn es immer noch nicht funktioniert, lesen Sie diese Antwort .
das stellen Sie sicher ,
platform-tools
der Android SDK wird hinzugefügt , um Ihre Systempfadvariablen !quelle
In meinem Fall habe ich die Anwendung vom Telefon deinstalliert, nachdem das Problem begonnen hatte, aber der folgende Befehl funktionierte für mich.
Führen Sie den folgenden Befehl in Terminal / cmd aus
Paketname so etwas wie com.example.applicationname Versuchen Sie dann, die Anwendung neu zu installieren. Es sollte funktionieren.
quelle
Für mich, auf Android 6, als ich die App deinstallierte, wurde sie tatsächlich deaktiviert, anstatt vom Gerät entfernt zu werden.
Einstellungen> Apps> Klicken Sie auf Ihre App und deinstallieren Sie sie
das hat es für mich behoben
quelle
Der folgende Befehl hat bei mir funktioniert. Manchmal verursacht dies auch eine teilweise Deinstallation der App.
Führen Sie den folgenden Befehl in Terminal / cmd aus
Versuchen Sie dann, die Anwendung neu zu installieren. Es sollte funktionieren.
quelle
Seien Sie gewarnt, dass Ihre App möglicherweise bereits in einem der anderen Profile vorhanden ist, wenn Sie mehrere Profile auf dem Gerät festgelegt haben.
Das Deinstallieren der App von allen Profilen hat das Problem für mich behoben.
quelle
Für mich war es ein sehr spezifisches Problem. Ich habe ein LG G5, auf dem ich meine Anwendung testen und meine App-Daten zurücksetzen kann. Ich habe es auf dem Telefon deinstalliert, aber das Telefon hat eine "nette" Funktion, um Apps nicht zu deinstallieren Sie können sie sofort innerhalb eines Tages neu installieren. Die App wurde also installiert, aber nicht verwendet ( deaktiviert ), nachdem die App vollständig vom Telefon entfernt wurde. Es funktionierte.
quelle
In meinem Fall lag es daran, dass die App, die ich starten wollte, für einen anderen Benutzer auf dem Gerät installiert wurde. Gehen Sie zu Einstellungen -> Apps (Alle Apps) und wählen Sie die App aus. Klicken Sie auf das Überlaufmenü und wählen Sie "Für alle Benutzer deinstallieren". Dies sollte das Problem lösen.
quelle
Ich verwende Android Studio 3.2 Beta 5 und habe das gleiche Problem
Gehe zu
Problem für mich gelöst
quelle
Wenn ich dieses Problem habe, versuche ich immer diese Lösung und es funktioniert.
Aber ich habe diesmal eine Ausnahme gefunden. Diese Lösung funktioniert bei mir nicht. Dann finde ich heraus, dass das Problem Emulator Bargeld ist. Ich mache es einfach
Wipe data
undCold boot now
und das Problem ist gelöst.quelle
Nur für den Fall, dass jemand auf mein Problem stößt und kein Glück mit den anderen Lösungen hat ... Ich habe versucht, eine Aktivität über adb für FireTV zu starten, während ich die Integration von Amazon Launcher debuggte. Mein Projekt hatte jedoch 60 verschiedene Build-Varianten (Multi-Plattform-, Multi-App-Projekt) und die ApplicationId stimmte mit keinem Klassenpfad überein, da sich das Laufzeitpaket (und die Klassenpfade) von der ApplicationId unterschieden.
Ich habe versucht zu rennen
adb shell am start -n com.myappid.example.packageone.packagetwo/com.myappid.example.packageone.packagetwo.MySplashActivity
(Natürlich hatte ich viele Kombinationen mit ausprobiert,
com.runtimepath.example
da ich die zusätzliche Herausforderung einer anderen Anwendungs-ID in meinem build.gradle und einer anderen zur Laufzeit hatte.)Was schließlich geholfen hat, war dieser Beitrag https://stackoverflow.com/a/36255727/5970652
Welches ergab ein anderes Format!
com.myappid.example/com.runtimepath.example.packageone.packagetwo.MySplashActivity
Wenn Sie also einen anderen Laufzeitklassenpfad haben, geben Sie ihn mit der Anwendungs-ID build.gradle vor dem Schrägstrich und danach mit dem Laufzeitklassenpfad an.
Sie können diese Werte auch von bekommen
BuildConfig.APPLICATION_ID
undthis.getLocalClassName()
jeweils , wenn man sie in logcat anmelden möchten.quelle
Sogar ich hatte das gleiche Problem, aber keine der oben genannten Lösungen funktionierte für mich. Das Problem war, dass ich die bestimmte App eingefroren hatte, die ich über Titanium Backup ausführen wollte, aufgrund derer ich den obigen Fehler erhielt. Ich habe es sowohl in Eclipse als auch in Android Studio versucht.
Nach der Realisierung habe ich die App einfach deinstalliert und dann wieder ausgeführt.
Problem gelöst :-)
quelle
Ich möchte den Trick teilen, der in meinem Fall geholfen hat. Ich habe die Anwendung vom Gerät deinstalliert und nichts von Clean / Rebuild / Android Studio-Neustartvorgängen hat geholfen.
Da Android Studio der Ansicht ist, dass die Anwendung noch auf dem Gerät installiert ist und nicht bereitgestellt wird, können Sie die Installation mithilfe der ADB erzwingen:
wobei
-r
Mittel , um die Anwendung und hält seine Daten neu zu installieren.quelle
Ich habe ein Samsung Galaxy. Die Suche in den obigen Einstellungen hat nicht funktioniert, da sie in meinen Apps-Einstellungen überhaupt nicht angezeigt wurde.
Ich habe die Anwendung auf meinem Telefon gefunden, indem ich den Namen der App in das Suchfeld eingegeben habe. Ich erkannte, dass es sich im Profil "Arbeit" (mit Mobile @ Work) befand, und entfernte es. Sie finden die Einstellungen für das Profil unter Einstellungen-> Arbeitsprofil-> Apps
Ich hoffe, dies hilft jemandem, der es möglicherweise nicht so findet, wie viele der anderen Antworten es in den Einstellungen gefunden haben.
quelle
Konfrontiert mit diesem Problem in Android Studio 3.5.1 Ich habe einen Tag gebraucht, um dieses Problem zu lösen. Ich habe alles versucht, einschließlich Cache-Bereinigung, Neustart und Umbenennen des Paketnamens. Wenn eines der oben genannten Verfahren nicht funktioniert hat, versuchen Sie es.
Gehen Sie einfach zu gradle> Tasks> Install> UninstallAll
Hier ist der Link: Fehlertyp 3: Aktivitätsklasse {...} existiert nicht
quelle
Manchmal wird die Anwendung auf dem Gastbenutzer auf Ihrem Handy installiert. Versuchen Sie also, den Gast zu wechseln und die Anwendung zu deinstallieren.
Versuchen Sie außerdem, den folgenden Befehl auszuführen, um die Anwendung zu deinstallieren. Adb deinstalliert das Paket "Ihr Paketname".
quelle
Ich hatte auch irgendwo in der Vergangenheit das gleiche Problem. Solche Probleme treten tatsächlich auf, wenn wir einige Umgestaltungen vornehmen, z. B. Umbenennen, Verschieben von Dateien innerhalb des Projekts usw. Das Umbenennen und Verschieben von Dateien erfordert Änderungen in der Gradle-Datei. Wenn Sie also eine Datei umbenennen oder verschieben, bereinigen Sie einfach das Projekt:
Durch das Bereinigen des Projekts werden nur die .class- Dateien entfernt und das Projekt neu kompiliert. Grundsätzlich erzwingt es einen Projektumbau.
Manchmal wurden solche Fehler beim Bereinigungsprojekt nicht behoben. Versuchen Sie dann, die App vom Gerät zu deinstallieren (entweder Emulator oder physischer), und führen Sie die App erneut aus. Hoffe das wird dir helfen, es hilft mir 50% mal.
Hinweis: - Wenn Sie einen Fehler erhalten haben, gehen Sie einfach nicht zu Google. Bereinigen Sie das Projekt, wenn dies nicht funktioniert. Tun Sie, was Sie möchten.
quelle
Ich hatte das gleiche Problem und habe es gelöst, indem ich meinen Aktivitätsstarter überarbeitet habe. Ändern Sie einfach den Klassennamen und es funktioniert.
quelle
Ich stehe vor einem ähnlichen Problem. Bitte befolgen Sie die folgenden Schritte.
es wird dir helfen:
1- Bereinigen Sie Ihr Projekt
2- Löschen Sie Ihr Build-Verzeichnis
3- Starten Sie Ihr Android Studio neu
4- Erstellen Sie das Projekt neu
5- Es wird erfolgreich ausgeführt.
Vielen Dank
quelle
Ich habe LG Stylus und in meinem Testtelefon wird die Anwendung nicht dauerhaft entfernt. Unter Einstellungen -> Anwendung habe ich eine Debug-App gefunden (die ich per AS installieren und debuggen möchte), deren Adnotation deaktiviert ist. Wenn ich die App von meinem Telefon entferne, verschwindet der Fehler.
quelle
In meinem Fall gab es nächsten Grund:
Ich habe 2 Benutzer: ich und Gast. und App wurde auf beiden installiert, aber erst zuerst gelöscht.
Als ich zum Gastbildschirm wechselte und die App von dort löschte, war die App in Ordnung installiert.
hoffe das hilft jemandem :)
quelle