web-dev-qa-db-fra.com

Xamarin - Android - Visual Studio - L'application n'a pas pu être démarrée

Je travaillais sur un projet Android utilisant Xamarin dans Visual Studio 2012. J'ai récemment mis à niveau un disque dur vers un SSD, j'ai donc réinstallé Windows et tous mes programmes.

Après avoir cloné mon référentiel git et essayé d'exécuter l'application sur mon appareil, je n'ai pas pu le faire fonctionner. J'ai pu démarrer un nouveau projet Hello World et je l'ai fait fonctionner, mais je n'arrive pas à faire fonctionner ce projet.

Voici ce que dit l'erreur:

L'application n'a pas pu être démarrée. Assurez-vous que l'application a été installée sur le périphérique cible et a une activité pouvant être lancée (MainLauncher = true).

De plus, vérifiez Build-> Configuration Manager pour vous assurer que ce projet est défini sur Déployer pour cette configuration.

J'ai cherché une solution à ce problème, mais je n'ai pas pu trouver quoi que ce soit qui fonctionne.

23
Jared Price

J'ai résolu le problème. D'une manière ou d'une autre, l'application existait toujours sur mon appareil, même si elle n'apparaissait pas dans mes applications et que je devais la supprimer.

La solution était de trouver un ancien APK que j'avais envoyé par e-mail et que j'ai installé. Ensuite, j'ai désinstallé l'application et l'ai à nouveau déployée à partir de Visual Studio. Cette fois, cela a fonctionné.

Vous pouvez en savoir plus ici: https://forums.xamarin.com/discussion/8501/install-failed-update-incompatible

EDIT (13 mars 2017):

Il semble que beaucoup de gens aient trouvé cette réponse utile, j'ai donc décidé de la mettre à jour avec une autre méthode pour désinstaller l'application si vous n'avez pas accès à une ancienne version.

Comme Atul Chaudhary et Nestel l'ont mentionné, vous pouvez ouvrir votre invite de commande adb et exécuter adb uninstall <com.your.application.package.name>. S'il reste des restes de votre application, cela devrait les éliminer.

39
Jared Price

enter image description here

  1. Nom d'application renommé.

  2. Nom du package ajouté.

App. a recommencé à travailler sur Emulator, Renamed application, app. a continué à courir.

Remarque: Réinitialisation de l'appareil, désinstallation de l'application. et l'exécution associée, etc. à partir des paramètres ne fonctionnaient pas pour moi.

J'espère que cela aide quelqu'un.

8
Faizal Balsania

L'exécution de cette commande à partir du shell adb l'a résolue pour moi:

adb Shell pm uninstall -k com.packagename

Pour accéder au shell adb à partir de Visual Studio Tools -> Android -> Android Invite de commandes Adb.

Erreur très intéressante, il semble que Visual Studio ne puisse pas désinstaller complètement la version précédente.

7
gabrielkerekes

Évidemment, l'OP a compris le problème de leur problème, mais je voulais toujours poster une réponse relative à un problème que j'ai eu avec le même message d'erreur. J'utilise Visual Studio (dans Parallels) et j'essaie de déboguer l'application sur une instance de Xamarin Android Player (qui s'exécute sur mon Mac).

J'ai continué à recevoir cette erreur et j'ai réalisé qu'un message d'erreur différent, plus utile, apparaissait dans la sortie de génération disant que je ne supportais pas la bonne architecture.

Entrer dans le Android Propriétés du projet -> Android Options -> Avancé -> et vérifier x86 m'a finalement permis de déployer avec succès sur le Xamarin Android Player.

5
hvaughan3

L'approche de la BAD ne fonctionne pas pour moi. Je ne voulais pas réinitialiser mon téléphone en usine ni désinstaller mes applications, j'ai donc réussi à déployer en changeant le package.

  1. Faites un clic droit sur votre projet Droid
  2. Sélectionnez Propriétés
  3. Accès au manifeste d'application
  4. Modifier le nom du package
  5. Redéployez votre projet enter image description here

J'espère que cela t'aides

2
Ljupcho Hristov

Dans mon cas, le problème était que deux activités étaient des activités de lancement, alors j'ai fait l'une d'entre elles.

Vous pouvez supprimer <intent-filter> <action Android:name="Android.intent.action.MAIN" /> <category Android:name="Android.intent.category.LAUNCHER" /> </intent-filter> à partir du fichier AndroidManifest.xml ou MainLauncher = true à partir de l'attribut de fichier d'activité .cs

1
Ajinkya Patil

J'ai rencontré ce problème lorsqu'il n'y avait pas suffisamment de mémoire sur l'appareil. Après un déploiement "réussi", l'application manquait même dans la liste des applications dans Paramètres. La suppression via adb m'a donné un échec qui a indiqué qu'il n'était pas installé. Dans le journal de sortie dans VS2015, j'avais le même message que OP. Enfin, cela a fonctionné après avoir nettoyé environ 50 à 100 Mo, même si dans les paramètres de l'application, cela m'a montré qu'il y avait 500 Mo d'espace libre. J'ai essayé différentes solutions (suppression via adb, nettoyage, construction puis déploiement) mais seul le nettoyage a fonctionné.

1
Varvara Kalinina

J'ai eu la même erreur aujourd'hui, en essayant d'exécuter l'application Android Xamarin sur Xamarin Android Player. Pour le corriger, je devais cocher la case "x86" dans la section "Architectures prises en charge". Donc vous pourrait vouloir vérifier cette section.

1
JonHendrix

adb uninstall a fait l'affaire. La chose étrange est que même si vous exécutez la commande pour répertorier toutes les applications installées, elle ne s'affichera pas, mais si vous exécutez la commande de désinstallation avec le nom du package ur qui doit être le nom du projet ou le nom que vous avez attribué, vous obtiendrez le résultat de réussite, ce qui signifie qu'il a été désinstallé et pour vérifier que si vous exécutez à nouveau la commande de désinstallation avec le même nom de package, vous obtiendrez la commande d'échec. Ensuite, le déploiement à nouveau de votre package devrait fonctionner

1
Atul Chaudhary

J'ai réussi à le résoudre en effaçant les données utilisateur de l'émulateur.

Dans AVD Manager, lorsque vous démarrez l'émulateur, cochez "Effacer les données utilisateur" et votre appareil émulé se comportera comme neuf.

Le problème lui-même est apparu après la mise à jour vers Android SDK Tools 25.1.3.

0
Hustlethroat

Je ne pouvais pas faire fonctionner cela au départ. J'ai essayé de tout supprimer (runtime mono, application, etc.), mais en vain.

Ce qui a fonctionné a été de renommer mon package, ce qui était bien dans mon cas puisque je n'ai pas encore publié mon apk. Une version fantôme est évidemment toujours stockée sur mon appareil.

0
HelloWorld

Renommer le nom de l'application et le nom du package (accédez aux paramètres du manifeste), ce qui a aidé à résoudre ce problème

0
Vadzim Papko

Les seules alternatives qui m'aident à résoudre ce problème sont les suivantes:

  • Depuis la page d'accueil de Xamarin Android Android (où tous les appareils sont affichés), cliquez sur le bouton "trois points" puis sur Réinitialisation d'usine.

OR

  • Installez un nouvel appareil et déployez-y votre application.
0
ndarriulat