Mam projekt Android IntelliJ, który pomyślnie zaimportowałem do Android Studio 0.4.0. Działa idealnie, jeśli niczego nie zmieniam w manifestie. Jednak gdy chcę zmienić działanie programu uruchamiającego i uruchomić go, błąd kończy się niepowodzeniem:
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.
Kiedy klikam Synchronizuj projekt z plikami Gradle , wyświetla:
Project Sync
The project 'TrackingEng' is not a Gradle-based project
Uruchom ustawienia:
AndroidManifest.xml
czy nie.Error: Activity class {...} does not exist.
dla mnie rozwiązana .Odpowiedzi:
Po refaktoryzacji napotkałem podobny problem.
Oto, co zrobiłem, aby rozwiązać ten problem:
Build
katalogI wszystko działało dobrze!
Myślę, że kluczem jest zrestartowanie IDE .
Mam nadzieję, że to pomoże tobie lub komukolwiek innemu!
Edycja 1:
Jeśli powyższe kroki nie działają, usunięcie pamięci podręcznej Gradle wydaje się rozwiązaniem, jak wskazał @Yasitha.
Edytuj 2
Zgodnie z sugestią kilku użytkowników w komentarzach poniżej, czasem problem można rozwiązać, całkowicie usuwając i ponownie instalując aplikację z urządzenia.
Wystarczy wpisać
adb uninstall <package>
terminal, aby całkowicie usunąć aplikację z urządzenia.Edycja 3
Jak wspomniano w odpowiedzi Abhisheka , należy również spróbować usunąć aplikację z urządzenia na wypadek, gdyby na urządzeniu skonfigurowanych było wielu użytkowników.
Po prostu idź do
Mobile Settings > Apps > [Your App] > More > Uninstall App for All Users
AKTUALIZACJA dla Androida Studio 2.1 i nowszych
Podczas pracy z Androidem Studio 2.1 i nowszym możesz również napotkać ten problem, jeśli w ustawieniach jest włączona opcja natychmiastowego uruchamiania (domyślnie jest włączona).
Aby wyłączyć tę opcję, przejdź do
Preferences
opcji wAndroid Studio
górnym menu i poszukaj,Instant Run
aby odznaczyć pierwsze pole wyboru na tym ekranie.W każdym razie to mnie naprawiło. Pierwotnie wskazany przez użytkownika @yusufonder. Odkryłem, że to był problem, ponieważ instalacja stopniowa nadal działała.
źródło
Może być pomocny dla kogoś: -
Czasami podczas testowania na urządzeniu aplikacja nie odinstalowuje się poprawnie . Aby to zweryfikować i naprawić:
źródło
adb uninstall {packageName}
rozwiązało problem.Napotkałbym ten problem podczas odinstalowywania aplikacji za pomocą urządzenia (tj. Przeciąganie aplikacji do opcji „Odinstaluj”). Ale oto właściwy sposób odinstalowania:
Użyj
./gradlew uninstallAll
polecenia. Zapobiegnie toError: Activity class {HomeActivity} does not exist.
błędowi.Aktualizacja:
Jeśli jesteś leniwy, możesz użyć skrótu do tego zadania:
./gradlew uA
.Możesz też zdefiniować aliasy dla typowych zadań stopniowych
.bash_profile
, dzięki czemu zaoszczędzisz czas, pisanie i nie będziesz musiał pamiętać każdego polecenia ani martwić się o literówki. Proponuję to zrobić.źródło
Dzieje się tak, gdy wykonasz następujące czynności
AS myśli, że nadal masz aplikację na swoim urządzeniu.
tl; dr - Aby rozwiązać ten problem, możesz po prostu odłączyć urządzenie po odinstalowaniu aplikacji i podłączyć je ponownie.
źródło
Aplikacja jest już zainstalowana dla innego użytkownika. Spróbuj odinstalować tę samą aplikację dla wszystkich użytkowników. Więc spróbuj.
Lub możesz spróbować po uruchomieniu polecenia adb.
gdzie PACKAGE_NAME to pełna nazwa, na przykład com.example.myapp
źródło
adb uninstall com.demo
nazwa mojej aplikacji todemo
adb devices
Miałem ten sam problem i tak to naprawiłem.
Przejdź do Gradle> Zadania> Zainstaluj> Odinstaluj wszystkie
źródło
uninstallAll
rozwiązać? Dzięki.Miałem ten sam błąd po zmianie nazwy / refaktoryzacji. Dodałem
applicationId
atrybut własności do mojego pliku build.gradle i ustawić jej wartość do pakietu aplikacji.W build.gradle :
źródło
Spróbuj zmienić nazwę działania w swoim
AndroidManifest.xml
pliku.Teraz mówi:
Spróbuj dodać kropkę na początku nazwy działania:
Lub dodając nazwę pakietu na początku nazwy działania:
Problemem może być również to, że nazwa pakietu zawiera tylko dwa składniki oddzielone kropkami (nazwa pakietu to „com.trackingeng”; bardziej standardowa nazwa pakietu to „com.trackingeng.app”)
źródło
Wykonaj poniższe czynności Przejdź do Ustawienia urządzeń mobilnych> Aplikacje> Twoja aplikacja> Więcej> Hit Odinstaluj aplikację dla wszystkich użytkowników.
Powód: Ponieważ masz wielu użytkowników w telefonie i odinstalowałeś tę aplikację tylko dla jednego.
CIESZYĆ SIĘ:
źródło
Myślę, że innym powodem tego problemu jest to, że nie jest on w pełni usunięty dla wszystkich użytkowników urządzenia.
Przejdź do Ustawienia -> Aplikacje -> Twoje aplikacje -> Kliknij do 3 kropek w prawym górnym rogu -> Odinstaluj dla wszystkich użytkowników
Mi to pasuje. Dzieje się tak, zwłaszcza, że zmieniasz ikony aplikacji lub bawisz się plikiem AndroidManifest.xml.
źródło
Dla mnie problemem była
AndroidStudio
myśl, że aplikacja jest nadal na urządzeniu.Naprawić to:
zrestartuj
adb
demona ; w terminalu lub wierszu polecenia wprowadź:spróbuj uruchomić aplikację.
jeśli nadal nie działa, sprawdź tę odpowiedź .
upewnij się, że
platform-tools
z Android SDK dodaje do swoich zmiennych ścieżce systemowej !źródło
W moim przypadku odinstalowałem aplikację z telefonu po tym, jak zaczął się problem, ale poniższe polecenie działało dla mnie.
Wykonaj poniższe polecenie w terminalu / cmd
nazwa_pakietu coś w rodzaju com.example.applicationname Następnie spróbuj ponownie zainstalować aplikację. To powinno działać.
źródło
dla mnie na Androidzie 6, kiedy odinstalowałem aplikację, faktycznie wyłączyła się, a nie została usunięta z urządzenia.
Ustawienia> Aplikacje> kliknij aplikację i odinstaluj
to naprawiło to dla mnie
źródło
Poniższe polecenie działało dla mnie. Czasami powoduje to częściowa dezinstalacja aplikacji.
Wykonaj poniższe polecenie w terminalu / cmd
Następnie spróbuj ponownie zainstalować aplikację. To powinno działać.
źródło
Ostrzegamy, że jeśli na urządzeniu ustawionych jest wiele profili, aplikacja może już istnieć w jednym z innych profili.
Odinstalowanie aplikacji ze wszystkich profili rozwiązało problem.
źródło
Dla mnie był to bardzo specyficzny problem, mam Lg g5 do testowania mojej aplikacji i aby zresetować dane aplikacji, odinstalowałem ją na telefonie, ale telefon ma „fajną” funkcję, aby nie odinstalowywać aplikacji natychmiast, abyś mógł je ponownie zainstalować w ciągu jednego dnia. Więc aplikacja została zainstalowana, ale nie nadaje się do użytku ( wyłączona ) po całkowitym usunięciu aplikacji z telefonu.
źródło
W moim przypadku było to spowodowane tym, że aplikacja, którą próbowałem uruchomić, została zainstalowana dla innego użytkownika na urządzeniu. Przejdź do Ustawienia -> Aplikacje (Wszystkie aplikacje) i wybierz aplikację. Kliknij menu przepełnienia i wybierz „Odinstaluj dla wszystkich użytkowników”. To powinno rozwiązać problem.
źródło
Używam Androida Studio 3.2 Beta 5, w obliczu tego samego problemu
Iść do
Rozwiązany problem dla mnie
źródło
Kiedy dostaję ten problem, zawsze wypróbowuję to rozwiązanie i działa.
Ale tym razem znalazłem wyjątek. To rozwiązanie nie działa dla mnie. Potem dowiaduję się, że problemem jest gotówka Emulator. Po prostu to robię
Wipe data
iCold boot now
problem został rozwiązany.źródło
Na wypadek, gdyby ktoś napotkał mój problem i nie miał szczęścia z innymi rozwiązaniami ... Próbowałem rozpocząć działalność za pośrednictwem adb dla FireTV podczas debugowania integracji Amazon Launcher. Jednak mój projekt miał 60 różnych wariantów kompilacji (projekt wieloplatformowy, projekt dla wielu aplikacji), a identyfikator aplikacji nie pasował do ścieżki klasy, ponieważ pakiet środowiska wykonawczego (i ścieżki klasy) różniły się od identyfikatora aplikacji.
Próbowałem biec
adb shell am start -n com.myappid.example.packageone.packagetwo/com.myappid.example.packageone.packagetwo.MySplashActivity
(Oczywiście próbowałem wielu kombinacji z
com.runtimepath.example
ponieważ miałem dodatkowe wyzwanie związane z inną aplikacją w moim build.gradle i inną w czasie wykonywania)W końcu pomógł ten post https://stackoverflow.com/a/36255727/5970652
Co ujawniło inny format!
com.myappid.example/com.runtimepath.example.packageone.packagetwo.MySplashActivity
Jeśli więc masz inną ścieżkę klasy środowiska wykonawczego, spróbuj określić ją za pomocą aplikacji build.gradle przed ukośnikiem, a następnie ścieżką klasy środowiska wykonawczego.
Możesz również uzyskać te wartości od
BuildConfig.APPLICATION_ID
i,this.getLocalClassName()
jeśli chcesz je zalogować w logcat.źródło
Nawet ja miałem ten sam problem, ale żadne z powyższych rozwiązań nie zadziałało. Problem polegał na tym, że zawiesiłem konkretną aplikację, którą próbowałem uruchomić za pośrednictwem Titanium Backup, dzięki czemu otrzymałem powyższy błąd. Próbowałem zarówno w Eclipse, jak i Android Studio.
Po realizacji po prostu odinstalowałem aplikację, a następnie uruchomiłem ją ponownie.
Problem rozwiązany :-)
źródło
Chciałbym podzielić się sztuczką, która pomogła w moim przypadku. Odinstalowałem aplikację z urządzenia i nic z operacji czyszczenia / przebudowywania / restartowania Android Studio nie pomogło.
Ponieważ Android Studio uważa, że aplikacja jest nadal zainstalowana na urządzeniu i nie wdraża jej, możesz wymusić instalację za pomocą ADB:
gdzie
-r
oznacza ponownie zainstaluj aplikację, zachowując jej dane.źródło
Mam Samsung Galaxy. Wyszukiwanie w powyższych ustawieniach nie działało, ponieważ w ogóle nie wyświetlało się w ustawieniach moich aplikacji.
Znalazłem aplikację na telefonie, wpisując nazwę aplikacji w polu wyszukiwania. Uświadomiłem sobie, że było to w profilu „Work” (przy użyciu Mobile @ Work) i usunąłem go. Możesz znaleźć ustawienia profilu, przechodząc do Ustawienia-> Profil pracy-> Aplikacje
Mam nadzieję, że to pomoże komuś, kto może nie znaleźć tego w taki sam sposób, jak wiele innych odpowiedzi stwierdziło, że można go znaleźć w ustawieniach.
źródło
Napotkałem ten problem w Android Studio 3.5.1 Zajęło mi dzień, aby rozwiązać ten problem, próbowałem wszystkiego, w tym czyszczenia pamięci podręcznej, restartu i zmiany nazwy pakietu. Więc jeśli którykolwiek z powyższych nie działał, spróbuj tego.
Wystarczy przejść do gradle> Tasks> Install> UninstallAll
Oto link: Błąd typu 3: Klasa aktywności {...} nie istnieje
źródło
Czasami aplikacja instaluje się na użytkowniku gościa na telefonie komórkowym, więc spróbuj zmienić gościa i odinstalować aplikację.
Ponadto spróbuj wykonać następujące polecenie, aby odinstalować aplikację Adb odinstalować pakiet „Twoja nazwa pakietu”
źródło
W przeszłości miałem również ten sam problem. Takie problemy występują w rzeczywistości, gdy dokonujemy refaktoryzacji, takiej jak - zmiana nazwy, przenoszenie plików w projekcie itp. Zmiana nazwy i przenoszenie plików wymaga zmian w pliku stopni, więc przy każdej zmianie nazwy lub przeniesieniu pliku wystarczy wyczyścić projekt:
Czyszczenie projektu po prostu usuwa pliki .class i ponownie kompiluje projekt. Zasadniczo wymusza przebudowę projektu.
Czasami tego rodzaju błędy nie zostały wyczyszczone podczas czyszczenia projektu, a następnie spróbuj odinstalować aplikację z urządzenia (emulatora lub fizycznego) i ponownie uruchom aplikację. Mam nadzieję, że to ci pomoże, pomaga mi 50% razy.
Uwaga: - Ilekroć pojawi się błąd, po prostu nie wchodź do Google, wyczyść projekt, jeśli to nie działa, zrób to, co chcesz w Google.
źródło
Miałem ten sam problem i rozwiązałem go, refaktoryzując program uruchamiający aktywność, wystarczy zmienić nazwę klasy i działa.
źródło
Mam podobny problem. Wykonaj poniższe czynności.
to ci pomoże:
1- Wyczyść projekt
2- Usuń katalog kompilacji
3- Uruchom ponownie Android Studio
4- Odbuduj projekt
5- Uruchomi się pomyślnie.
Dzięki
źródło
Mam LG Stylus iw moim telefonie testowym aplikacja nie jest trwale usuwana. W Ustawieniach -> Aplikacja znalazłem aplikację do debugowania (którą próbuję zainstalować i debugować przez AS) z wyłączoną adnotacją. Po usunięciu aplikacji z telefonu błąd zniknął.
źródło
W moim przypadku był kolejny powód:
Mam 2 użytkowników: mnie i gościa. i aplikacja została zainstalowana na obu z nich, ale początkowo została usunięta.
kiedy przełączyłem się na ekran gościa i stamtąd usunąłem aplikację, aplikacja została zainstalowana.
mam nadzieję, że to komuś pomoże :)
źródło