J'ai un projet Android INTELIJ (v12) Android importé avec succès dans AndroidStudio (v0.4.0). Cela fonctionne parfaitement si je ne change rien dans le manifeste. Lorsque je souhaite modifier l'activité du programme de lancement et l'exécuter, il génère le message d'erreur suivant:
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.
Lorsque je clique sur Synchroniser le projet avec les fichiers Gradle il affiche:
Project Sync
The project 'TrackingEng' is not a Gradle-based project
Quelqu'un a rencontré ce problème? Des idées?
Paramètres d'exécution:
J'ai fait face à un problème similaire après refactoring.
Voici ce que j'ai fait pour résoudre ce problème:
Build
Et tout a bien fonctionné!
Je pense que la clé est de redémarrer votre IDE.
J'espère que cela vous aide ou aide quelqu'un d'autre!
Modifier:
Si les étapes ci-dessus ne vous conviennent pas, supprimer le cache de niveaux semble être une solution, comme l'a souligné @Yasitha.
Edit 2
Comme suggéré par quelques utilisateurs dans les commentaires ci-dessous, le problème peut parfois être résolu en supprimant et en réinstallant complètement l'application de votre appareil.
Tapez simplement adb uninstall <package>
dans le terminal pour supprimer complètement l'application de l'appareil.
UPDATE pour Android Studio 2.1 et supérieur
Lorsque vous exécutez Android Studio 2.1 et versions ultérieures, vous pouvez également rencontrer ce problème lorsque l'option d'exécution instantanée est activée dans vos préférences (elle est activée par défaut).
Pour désactiver cette option, accédez à l'option Preferences
dans le menu principal Android Studio
et recherchez Instant Run
afin de pouvoir décocher la première case à cocher sur cet écran.
En tout cas ça a réglé le problème pour moi. Initialement signalé par l'utilisateur @yusufonder. J'ai découvert que c'était le problème puisque l'installation de Gradle fonctionnait toujours.
Peut être utile pour quelqu'un: -
Parfois, lors des tests sur un périphérique, l'application ne désinstalle pas correctement. Pour vérifier et résoudre ceci:
Cela se produit lorsque vous procédez comme suit
AS pense que vous avez toujours l'application dans votre appareil.
tl; dr - Pour résoudre ce problème, vous pouvez simplement déconnecter votre appareil après la désinstallation de l'application, puis le reconnecter.
Je ferais face à ce problème lors de la désinstallation de l’application via l’appareil (c’est-à-dire en faisant glisser l’application sur l’option «Désinstaller»). Mais voici la bonne façon de désinstaller:
Utilisez la commande ./gradlew uninstallAll
. Cela évitera l'erreur Error: Activity class {HomeActivity} does not exist.
.
Mettre à jour:
Si vous êtes paresseux, vous pouvez utiliser l’abréviation de cette tâche: ./gradlew uA
.
Vous pouvez également définir des alias pour les tâches de niveaux courantes dans votre .bash_profile
. Cela vous fera gagner du temps, vous pourrez taper à la machine et vous ne devrez pas vous souvenir de chaque commande ni vous soucier des fautes de frappe. Je suggère de faire ceci.
J'ai eu la même erreur après avoir renommé/refactoré. Ce que j'ai fait a été d'ajouter l'attribut de propriété applicationId
à mon fichier build.gradle et de définir sa valeur sur le package d'application.
Dans build.gradle :
Android {
defaultConfig {
applicationId "com.example.myapp"
}
}
AndroidManifest.xml
.En ce moment, il est écrit:
<activity Android:name="LandingActivity" >
Essayez soit en ajoutant un point au début du nom de l'activité:
<activity Android:name=".LandingActivity" >
Ou en ajoutant le nom du paquet au début du nom de l'activité:
<activity Android:name="com.trackingeng.LandingActivity" >
Il se peut également que le nom de votre package ne comporte que deux composants séparés par des points (votre nom de package est "com.trackingeng"; un nom de package plus standard serait "com.trackingeng.app")
Pour moi, le problème était que AndroidStudio
pensé que l'application était toujours sur l'appareil.
Réparer:
redémarrer le démon adb
; dans un terminal ou une invite de commande, entrez:
adb kill-server
adb start-server
essayez de lancer votre application.
si cela ne fonctionne toujours pas, consultez cette réponse .
assurez-vous que le platform-tools
du SDK Android est ajouté à votre variables du chemin système!
Je pense qu'une autre raison qui cause ce problème est qu'il n'est pas complètement supprimé pour tous les utilisateurs de l'appareil.
Allez dans Paramètres -> Applications -> Vos applications -> Cliquez sur les 3 points en haut à droite -> Désinstaller pour tous les utilisateurs
Ça marche pour moi. Il arrive surtout que vous changiez les icônes de l'application ou que vous bousculiez avec le fichier AndroidManifest.xml.
pour moi, sur Android 6, lorsque j'ai désinstallé l'application, il est devenu désactivé au lieu d'être supprimé de l'appareil.
Paramètres> Applications> cliquez sur votre application et désinstallez-la.
cela l'a corrigé pour moi
Sachez que si plusieurs profils sont définis sur l'appareil, votre application peut déjà exister dans l'un des autres profils.
La désinstallation de l'application dans tous les profils a résolu le problème pour moi.
Dans mon cas, c’est parce que l’application que j’essayais de lancer a été installée pour un autre utilisateur sur le périphérique. Allez dans Paramètres -> Applications (Toutes les applications) et sélectionnez l'application. Cliquez sur le menu de débordement et sélectionnez "Désinstaller pour tous les utilisateurs". Cela devrait résoudre le problème.
Pour moi, c’était un problème très spécifique, j’ai un Lg g5 pour tester mon application, et pour réinitialiser les données de mes applications, je l’ai désinstallé sur le téléphone, mais le téléphone a une 'ne désinstallez pas les applications immédiatement pour pouvoir les réinstaller dans la même journée . Ainsi, l'application a été installée mais n'est pas utilisable ( disabled ) après le retrait complet de l'application du téléphone, cela a fonctionné.
L'application est déjà installée pour un autre utilisateur. S'il vous plaît essayez de désinstaller la même application pour tous les utilisateurs. Alors essaye.
Ou vous pouvez essayer après avoir exécuté la commande adb.
adb uninstall PACKAGE_NAME
où PACKAGE_NAME est le nom complet, tel que com.example.myapp
Même si j'avais le même problème, mais aucune des solutions ci-dessus ne fonctionnait pour moi ... Le problème était que j'avais figé l'application particulière que j'essayais de lancer via Titanium Backup, à cause de laquelle j'avais l'erreur susmentionnée. J'ai essayé à la fois dans Eclipse et Android Studio.
Après la réalisation, je viens de désinstaller l'application, puis de l'exécuter à nouveau.
Problème résolu :-)
Suivez les étapes ci-dessous Accédez au paramètre Mobile> Applications> Votre application> Plus> Appuyez sur Désinstaller l'application pour tous les utilisateurs.
Raison: parce que vous avez plusieurs utilisateurs sur votre téléphone et que vous n'avez désinstallé cette application que pour un seul.
PRENDRE PLAISIR:
L'ordre ci-dessous a fonctionné pour moi. Parfois, la désinstallation partielle de l’application en est la cause.
Exécuter la commande ci-dessous dans terminal/cmd
adb uninstall <package_name>
Ensuite, essayez de réinstaller l'application. Ça devrait marcher.
J'utilise Android Studio 3.2 Beta 5, confronté au même problème
Aller à
File -> Invalidate Caches / Restart...
Problème résolu pour moi
Dans mon cas, la raison suivante était:
J'ai 2 utilisateurs: moi et Guest ..__ et l'application a été installée sur les deux mais supprimée seulement au début.
quand je suis passé à l'écran d'invité et que j'ai supprimé l'application à partir de là, l'application s'est installée correctement.
j'espère que cela aidera quelqu'un :)
Juste au cas où quelqu'un tomberait dans mon problème et n'aurait aucune chance avec les autres solutions… .. J'essayais de démarrer une activité via adb pour FireTV tout en déboguant l'intégration d'Amazon Launcher. Cependant, mon projet comportait 60 variantes de construction différentes (projet multi-plateforme, multi-application) et ApplicationId ne correspondait à aucun chemin de classe car le package d'exécution (et les chemins de classe) étaient différents de l'applicationId.
J'essayais de lancer adb Shell am start -n com.myappid.example.packageone.packagetwo/com.myappid.example.packageone.packagetwo.MySplashActivity
(Bien sûr, j'avais essayé de nombreuses combinaisons avec com.runtimepath.example
car j'avais le défi supplémentaire d'un ID application différent dans mon build.gradle et d'un autre au moment de l'exécution)
Ce qui a finalement aidé a été ce post https://stackoverflow.com/a/36255727/5970652
Ce qui a révélé un format différent! com.myappid.example/com.runtimepath.example.packageone.packagetwo.MySplashActivity
Par conséquent, si vous avez un chemin d'accès aux classes d'exécution différent, essayez de spécifier l'outil application.d. buildle avant la barre oblique et le chemin d'accès aux classes d'exécution par la suite.
Vous pouvez également obtenir ces valeurs à partir de BuildConfig.APPLICATION_ID
et this.getLocalClassName()
respectivement si vous souhaitez les consigner dans logcat.
J'ai eu le même problème et je l'ai résolu en refacturant mon lanceur d'activité, il suffit de changer le nom de la classe et ça marche.
Si vous avez désinstallé l'application manuellement à partir du périphérique et que vous avez configuré plusieurs utilisateurs, cette erreur peut se produire. L'application doit être désinstallée de tous les utilisateurs du périphérique.
Aucun de ce qui précède n'a fonctionné pour moi. J'avais une version de l'application sur l'appareil qui ne pouvait pas être désinstallée car elle était corrompue d'une manière ou d'une autre. Je devais réinitialiser l’appareil en usine. Pas trop dérangé car c’était juste un périphérique dev
Si vous ne faites pas attention et que vous essayez de désactiver quelque chose dans le manifeste de votre application, assurez-vous de ne pas désactiver l'application ...
<application
Android:allowBackup="false"
Android:enabled="true"
...
J'ai accidentellement mis enabled
sur "false" au lieu de allowBackup
. J'ai perdu 2 heures à chercher une solution.
Je suis confronté au même problème s'il vous plaît suivez les étapes ci-dessous.
cela vous aidera:
1- Nettoyez votre projet
2- Supprimer votre répertoire de construction
3- Redémarrez votre Android Studio
4- Reconstruire le projet
5- il fonctionnera avec succès.
Merci
Si votre application ne comporte que deux noms de package Word, tels que [ com.example ], toute votre classe doit être mentionnée avec un chemin complet dans menifest tel que [ com.example.SplashActivity ] au lieu d'un chemin relatif tel que [ .SplashActivity ] Changez cela, supprimez tout votre dossier de construction et relancez l'application . J'espère que cela vous aidera . Merci
J'ai LG Stylus et, dans mon téléphone test, l'application n'est pas supprimée définitivement. Dans Paramètres -> Application, j’ai trouvé l’application de débogage (que j’essaie d’installer et de déboguer par AS) avec une annotation désactivée. Lorsque je supprime l'application de mon téléphone, l'erreur a disparu.
Pour moi, sur Android Studio 3.1.2 sur Ubuntu 16.04, j'ai rencontré le même problème… .. Cela se produit lorsque mon collègue a changé le nom du paquet et que tout va bien sur sa machine… .. Ni projet propre ni projet de reconstruction .
J'utilise le projet Sync avec le bouton de fichiers Gradle sur le panneau supérieur d'Android Studio et tout fonctionne bien.
J'ai également rencontré le même problème quelque part dans le passé. De tels problèmes surviennent lorsque nous procédons à des refactorisations, telles que le changement de nom, le déplacement de fichiers dans le projet, etc.
Construire -> Projet propre
Nettoyer le projet supprime simplement les fichiers .class et recompile le projet. Fondamentalement, cela oblige un projet à reconstruire.
Parfois, ces types d'erreurs ne sont pas nettoyés sur le projet de nettoyage, puis essayez de désinstaller l'application du périphérique (qu'il s'agisse d'un émulateur ou d'un physique) et exécutez à nouveau l'application. J'espère que cela vous aidera, cela m'aide à 50%.
Remarque: - Chaque fois que vous rencontrez une erreur, n'allez pas sur google, nettoyez le projet si cela ne fonctionne pas, faites ce que vous voulez google.
J'ai eu le même problème. Mon problème a été résolu lorsque j'ai désactivé l'exécution instantanée pour Android Studio 2.1.1.
Ma solution est la suivante: fermez le "lancement instantané" du studio Android.
"exécution instantanée" peut être trouvée avec les étapes suivantes: Préférences -> Construction, exécution, déploiement -> Exécution instantanée
puis décochez la case "Activer l'exécution instantanée pour le remplacement à chaud ...."
Cela a fonctionné pour moi
Accédez aux paramètres du module -> Falvors -> ID de l'application -> (Ajoutez le nom de votre package)
J'ai fait face à ce problème récemment et j'ai essayé toutes les suggestions ci-dessus, et le problème n'a pas été enregistré. Finalement, j'ai changé un NDK, et le problème a été résolu ...
J'ai pris référence au commentaire de @ jayeffkay.
Cela fonctionne pour moi après avoir supprimé les fichiers de cache Gradle situés dans
/your_proj_directory/.gradle/2.10
2.10 est la version utilisée dans mon cas.
Arrivé à Android/app/build.gradle
et rechercher
buildTypes {
....
}
Vous pourriez avoir quelque chose comme
buildTypes {
debug {
...
}
release {
...
}
customBuildType {
...
}
}
Choisissez la buildType
que vous voulez démarrer, puis lancez l’application comme suit
react-native run-Android --variant=[buildType] --appIdSuffix '[buildType]'
Alors,
react-native run-Android --variant=debug --appIdSuffix 'debug'
Aucune des solutions ci-dessus n'a fonctionné pour moi. J'ai essayé la même application avec différents appareils. Enfin, j'ai remarqué que l'application est désactivée.
C'était la solution pour mon cas
J'avais le type d'erreur 3. J'ai réussi à le réparer en ajoutant le code suivant dans AndroidMainfest.xml.
<activity Android:name=".GameActivity">
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Dans mon cas, j'ai en fait changé le nom du paquet, et le problème a commencé.
J'ai essayé beaucoup d'astuce mais je décris ici ce qui a réellement fonctionné pour moi.
Assurez-vous que le nom de votre activité est correct. Assurez-vous également que le nom du package est correct dans le fichier manifeste.
Cela m'est arrivé en utilisant react-native run-Android car le nom de mon paquet ne correspond pas à mon ID d'application. Ajoutez simplement --app-id YOUR_APP_ID
.
Faire juste une construction propre a fait le tour pour moi.
Pour faire un build propre, faites:
Build -> Clean Project
Ensuite, effectuez une construction ou une exécution directe sur le périphérique.
Conservez le même nom de paquet dans le fichier manifeste et dans build.gradle (Module: app).
Le problème était dû à la désinstallation de l'application alors que le périphérique était toujours branché. Ce qui se produit, c'est que le périphérique désactive l'application plutôt que de la supprimer.
Le nom de mon paquet était comme "barisciftci. PatternApplier ". Donc, le changer en minuscule a résolu mon problème, alors maintenant, il ressemble à "barisciftci.patternapplier" et cela fonctionne vraiment bien.
J'ai un Samsung Galaxy. La recherche dans les paramètres ci-dessus n'a pas fonctionné, car elle n'apparaissait pas du tout dans les paramètres de mes applications.
J'ai trouvé l'application sur mon téléphone en tapant le nom de l'application dans le champ de recherche. J'ai réalisé que c'était dans le profil "Travailler" (avec Mobile @ Work) et je l'ai supprimé. Vous pouvez trouver les paramètres du profil en allant dans Paramètres-> Profil professionnel-> Applications.
J'espère que cela aidera quelqu'un qui peut ne pas le trouver de la même manière que beaucoup d'autres réponses ont déclaré qu'il pouvait être trouvé dans les paramètres.
Je l'ai résolu en supprimant simplement le dossier app -> build
, puis en reconstruisant le projet. Le dossier de construction est automatiquement recréé après la construction du projet, ce qui évite de le supprimer.
Pour les appareils Android 9: si votre application n'est pas déjà installée sur l'appareil: 1) créez apk 2) déplacez l'apk vers l'appareil et installez-le 3) revenez à Android Studio et appuyez sur Exécuter - l'application sera lancée.
J'ai fait face au même problème récemment, supprimer l'application dans la machine Android a résolu mon problème.
Cela se produit généralement lorsque vous désinstallez l'application que vous développez. Vérifiez si vous avez activé le compte invité, le cas échéant, changez de compte et désinstallez l'application, puis revenez en utilisateur administrateur (vous). et continue!
Cela se produit lorsque l'application n'a pas été désinstallée correctement.
Utilisez le plugin ci-dessous d'Android Studio pour désinstaller l'application du périphérique [au cas où vous ne trouveriez pas votre application dans les paramètres du périphérique]
ADBIdea: https://github.com/pbreault/adb-idea
ADBIdea ajoute les commandes ADB suivantes à Android Studio et à Intellij:
Il existe deux méthodes de base pour appeler une commande:
Dans le menu Outils-> Android-> Idée ADBEn recherchant "ADB" dans "Rechercher des actions" (osx: cmd + Maj + a, Windows/Linux: Ctrl + Maj + a)
Vérifiez si vous construisez une version cachée. C'est le comportement prévu pour l'application cachée.
Si vous souhaitez créer une version régulière, vous devez modifier la variante de construction dans Android Studio Construire> Sélectionner la variante de construction , modifiez-la en version normale.
Dans mon cas, j’ai défini defaultConfig
deux fois.
Je ne sais pas pourquoi mais revérifiez-le en cas d'erreur.
Quand j'ai ce problème, j'essaie toujours cette solution et ça marche.
Instant Run disable
Build -> Clean Project
File -> Invalidate Caches / Restart
Mais j'ai trouvé une exception cette fois. Cette solution ne fonctionne pas pour moi. Ensuite, je découvre que le problème est l’argent de l’émulateur. Je fais juste Wipe data
et Cold boot now
et le problème est résolu.
Outre les cas fournis par le premier commentaire upvoted, il existe un autre cas susceptible de provoquer cette erreur: le fichier apk de sortie ne peut pas être remplacé par Android Studio, vous pouvez le supprimer manuellement et le construire à nouveau, cela devrait fonctionner.
Si vous n'avez pas changé le chemin de sortie, le chemin de sortie par défaut de l'apk est {Your Project Path}/app/build/outputs/apk/debug/app-debug.apk
J'aimerais partager le truc qui m'a aidé dans mon cas. J'ai désinstallé l'application de l'appareil et rien des opérations de nettoyage/reconstruction/Android Studio de redémarrer n'a pas aidé.
Étant donné qu'Android Studio pense que l'application est toujours installée sur l'appareil et ne la déploie pas, vous pouvez forcer l'installation à l'aide de la BAD:
adb install -r <your_application_from.apk>
où -r
signifie réinstaller l'application en conservant ses données.
Si quelqu'un voit cela,
Ce correctif a fonctionné pour moi car rien de ce qui précède n'a fonctionné:
Cela a fonctionné pour moi
Si vous créez un nouveau projet à partir d'un projet existant:
build.gradle
defaultConfig {
applicationId "xxxxxxxxx" //xxxxxxxxx should be "package name (com.demo.app) from AndroidMenifest.xml"
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "3.0.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
puis cliquez sur synchroniser dans le studio Android
Dans mon cas, cela était causé par ndk abiFilters lors de la compilation pour arm. Pour résoudre ce problème, je devais ajouter la section suivante sur le bloc Android de app/build.gradle:
splits {
abi {
enable true //enables the ABIs split mechanism
reset() //reset the list of ABIs to be included to an empty string
include "armeabi-v7a", "arm64-v8a", "armv7l"
universalApk true
}
}
Comme d'autres l'ont noté, ce problème peut être causé par un périphérique/émulateur connecté lors de la désinstallation de l'application et la connexion AS existe toujours. Pour ma part, je supprime simplement tous les dossiers build (sous les répertoires app et project) du projet et relance l’application sur le périphérique/émulateur.
Voici encore une autre réponse, que je n'ai pas encore vue dans la liste, car rien d'autre ne fonctionnait pour moi. Chercheur futur, si vous avez épuisé toutes les options, jetez un coup d'œil à celui-ci -
Pour moi, je jouais avec Profils de travail Android en utilisant l'application Shelter App - J'avais copié ma propre application dans le profil de travail.
Je devais supprimer mon application du profil régulier ainsi que du profil de travail, puis l'application serait lancée correctement. D'une manière ou d'une autre, le package existant dans le profil de travail entravait le déploiement de IDE.
Android Studio 3.1.3, janvier 2019… .. Après avoir tout essayé ici sans succès, c'est la seule chose qui fonctionne pour moi:.
Si vous testez votre application sur un smartphone qui a 24 heures de suppression sécurisée (comme LG G6), vous devez désinstaller l'application manuellement dans les paramètres, car elle est dans le bac pendant 24 heures après la désinstallation. L'application est installée, mais elle est dans l'application Thrash sur votre smartphone. Cela a fonctionné pour moi.
Je fais face à ce problème après avoir renommé mon paquet ...
le plus simple est donc d'aller dans Fichier-> Invalider caches/Restart ....
Dans mon cas, je ne sais pas pourquoi, le smartphone bloquait mon application. Pour le résoudre, je suis allé dans Configuration -> Application, j'ai trouvé mon application et appuyé sur "Annuler". Je suis allé à la configuration parce que mon application n'apparaissait pas dans le menu.
J'ai ajouté par erreur une balise <application>
supplémentaire dans AndroidMenifest.xml
qui était à l'origine de ce problème. J'ai enlevé ça et maintenant tout fonctionne bien
J'ai essayé toutes les solutions ci-dessus, rien ne m'a aidé. Puis j'ai lu tout le journal 'Run' Log . Là j'ai vu cette ligne
"Exception occurred while executing:
Android.os.ParcelableException: Java.io.IOException: Requested internal only, but not enough space"
Mon problème était, pas d'espace libre interne pour installer l'application. J'ai donc supprimé certains fichiers et l'application s'est installée avec succès.
Je résous simplement (ne supprime pas le dossier de compilation):
je vais juste à Build> Rebuild Project et mon problème est résolu
Si vous obtenez cette erreur lors du développement d'une application instantanée, accédez à Paramètres du périphérique -> Applications et supprimez l'application instantanée de l'appareil.
Cela pourrait aussi arriver si vous avez par erreur deux activités de lancement dans votre AndroidManifest.xml
comme ceci:
<activity Android:name=".ActivityA">
<intent-filter>
<action Android:name="Android.intent.action.MAIN"/>
<category Android:name="Android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity Android:name=".ActivityB">
<intent-filter>
<action Android:name="Android.intent.action.MAIN"/>
<category Android:name="Android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
Il suffit de laisser celui qui convient LAUNCHER Activity