web-dev-qa-db-fra.com

La classe d'activité n'existe pas (type d'erreur 3)

J'ai un appareil nexus5x avec Android O et je développe une application sur mon ordinateur portable et également sur un autre ordinateur. Mais quand je veux démarrer l'application sur un autre ordinateur après l'avoir démarrée sur mon ordinateur portable j'obtiens toujours l'erreur décrite ci-dessous.

Error while executing: am start -n "com.safetylink.Android.safetylinkheartbeatapp/com.application.aware.safetylink.auth.SplashScreenActivity" -a Android.intent.action.MAIN -c Android.intent.category.LAUNCHER
Starting: Intent { act=Android.intent.action.MAIN cat=[Android.intent.category.LAUNCHER] cmp=com.safetylink.Android.safetylinkheartbeatapp/com.application.aware.safetylink.auth.SplashScreenActivity }
Error type 3
Error: Activity class {com.safetylink.Android.safetylinkheartbeatapp/com.application.aware.safetylink.auth.SplashScreenActivity} does not exist.

Error while Launching activity

C'est une magie pour moi, car je n'ai pas le même problème avec un autre téléphone (il vient d'être réinstallé) et avec un émulateur. L'application fonctionne bien sur eux.

Je pense que c'est lié aux paramètres nexus5x, mais je ne sais pas exactement. Que dois-je faire pour résoudre ce problème?

P.S .: J'ai déjà essayé de nettoyer, reconstruire le projet, renommer l'activité, invalider le cache et redémarrer plusieurs fois, désactiver également l'exécution de l'instance, mais cela ne fonctionne pas pour moi.

7
Michael Abyzov

Sur certains appareils (LG Stylus 3 Android 7.0) lorsque vous appuyez sur l'application et la déplacez du bureau vers la corbeille, l'application n'est pas supprimée de l'appareil. Vous pouvez restaurer l'application mise en corbeille de cette façon plus tard sans le réinstaller à partir de Google Play. Si c'est votre cas, vous pouvez voir cette erreur:

Error while executing: am start -n "ru.alanov.cashbox/ru.alanov.cashbox.activity.LoginActivity" -a Android.intent.action.MAIN -c Android.intent.category.LAUNCHER
Starting: Intent { act=Android.intent.action.MAIN cat=[Android.intent.category.LAUNCHER] cmp=com.your.app/.activity.MainActivity }
Error type 3
Error: Activity class {ru.alanov.cashbox/com.your.app.activity.MainActivity} does not exist.

Error while Launching activity

lorsque vous essayez de réinstaller l'application à partir de Android Studio via ADB. Allez dans Paramètres -> Applications -> Cliquez sur votre application et supprimez-la. Après son erreur disparaît.

19
isabsent

J'ai le même problème avec mon projet. Je le résous en accédant à fichier et en cliquant sur Invalidate Caches/Restart.

3
Ashutosh Sharma

Si vous obtenez cette erreur, cela peut être dû au fait que l'application que vous essayez de charger est toujours installée pour un autre compte d'utilisateur sur le même appareil.

En d'autres termes, la désinstallation d'une application pour le compte d'utilisateur actuel ne désinstalle pas nécessairement la même application pour tous les autres comptes d'utilisateur sur l'appareil.

Si vous allez dans Paramètres => Application et recherchez l'appareil en question, vous verrez qu'il peut toujours y être. Si tel est le cas, appuyez sur l'application pour afficher l'écran Infos sur l'application et accédez au menu de débordement "..." en haut à droite. Appuyez dessus et il devrait y avoir une option pour désinstaller l'application pour tous les utilisateurs.

Une fois que vous avez désinstallé l'application pour tous les utilisateurs, cette erreur devrait disparaître et vous devriez pouvoir charger et exécuter l'application.

3
Phileo99

Il semble qu'il y ait beaucoup de problèmes possibles qui provoquent cette erreur. Dans mon cas, j'avais changé les options d'installation (voir les étapes ci-dessous pour savoir où se trouvent les options d'installation) en "APK du bundle d'application"

Voici comment je l'ai résolu. Peut être utile pour quelqu'un.

  1. Dans AndroidStudio (AS), sous la barre d'outils/menu "Exécuter", sélectionnez l'élément de menu "Modifier les configurations".
  2. Dans la fenêtre contextuelle Exécuter/Déboguer la configuration, sous "Application Android", sélectionnez "application"
  3. À droite, sous l'onglet "Général", vérifiez si Module: app est sélectionné.
  4. Sous "Options d'installation", "Déployer:" a été mal sélectionné. Sélectionné sur "APK par défaut" et tout a fonctionné correctement après.

Capture d'écran de l'option d'installation

3
Gururaj

Vous pouvez essayer de désinstaller l'application avec la commande adb

adb Shell pm uninstall <packageName>

Si cela n'a pas fonctionné, vous pouvez essayer ceci

./gradlew uA

Si aucun d'entre eux ne fonctionne, vous pouvez essayer de créer un apk et de le mettre sur votre téléphone via le câble. Cela devrait fonctionner comme ça.

1
haliltprkk

Merci beaucoup aux réponses ci-dessus, je suppose que dans mon cas, le problème était avec les appareils Redmi fonctionnant sur MIUI qui prend en charge Second Space.

Je l'avais activé, ce qui posait des problèmes avec la désinstallation de l'installation précédente, troublant ainsi la nouvelle installation, mais j'ai également essayé de copier manuellement l'APK pour l'installer sur sdcard, qui a également échoué en disant "L'application ne peut pas être installée".

Donc, si quelqu'un comme moi utilise MIUI, veuillez vérifier que le deuxième espace est activé lorsque vous obtenez cette erreur et que votre application n'est pas disponible dans Paramètres-> Applications et Lanceur.

1
mahee96

Dans mon cas, l'installation du " Deploy: Default APK " option in Android = Studio était utile

1
Trubnikov

Sur le téléphone ayant le problème, accédez à: Paramètres Applications. Si vous voyez l'application dans la liste, sélectionnez-la et désinstallez-la.

On dirait que si vous faites simplement glisser pour désinstaller, vous ne le désinstallez pas vraiment.

Une autre grande fonctionnalité Android

1
dcarl661