web-dev-qa-db-fra.com

Activité par défaut introuvable dans Android Studio

Je viens de passer à Android Studio 0.2.8 et un message d'erreur indiquant que l'activité par défaut n'a pas été trouvée s'affiche lorsque j'essaie de modifier les configurations d'exécution.

Lorsque je lance Android Studio, le message d'erreur suivant s'affiche: "L'accès n'est autorisé qu'à partir du thread d'envoi d'événements"

L'activité que j'utilise est une activité fragmentée.

Jusqu'à présent, j'ai essayé de reconstruire et d'invalider les caches/restart. Les deux étaient d'aucune utilité.

S'il vous plaît laissez-moi savoir ce que je peux faire pour résoudre le problème.

81

Dans Android Studio, cliquez avec le bouton droit sur le projet et choisissez Ouvrir les paramètres du module. Ensuite, allez dans l'onglet Sources de votre module, recherchez le dossier src, faites un clic droit dessus et marquez-le comme Sources (couleur bleue).

EDIT: Il n'y a pas d'onglet sources dans les versions ultérieures d'Android Studio, mais vous pouvez modifier le fichier build.gradle à la place: https://stackoverflow.com/a/22028681/1101730 (merci pour le commentaire Josh)

38
Micer

Avez-vous ajouté le filtre d'intention ACTION_MAIN à votre activité principale? Si vous ne l'ajoutez pas, alors Android ne saura pas quelle activité lancer comme activité principale.

ex:

<intent-filter>
      <action Android:name="Android.intent.action.MAIN"/>
      <action Android:name="com.package.name.MyActivity"/>
      <category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
48
Anup Cowkur

J'ai eu le même problème lors de l'importation d'un projet dans Android Studio, probablement en raison du fait que le projet avait été développé sur une version antérieure d'Android Studio autre que celle actuellement installée sur mon ordinateur.

Qu'est-ce résolu tout simplement en choisissant:

File -> Invalidate Caches / Restart...

puis en sélectionnantInvalidate and Restart.

25
syntagma

Si vous n'avez pas l'onglet et que vous avez démarré avec une activité vide, essayez ceci: . Voici un exemple de code:

<application Android:label="@string/app_name">

    <activity Android:name=".HelloActivity">
        <intent-filter>
            <action Android:name="Android.intent.action.MAIN"/>
            <category Android:name="Android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>

</application>

Maintenant, allez dans votre fichier AndroidManifest.xml. Copiez ensuite le filtre d'intention à partir de ce code. Regardez votre fichier manifeste vraiment bien et collez le filtre d'intention à l'endroit exact où il se trouve dans le code ci-dessus. (après la partie .yourActivityName> du manifeste.) J'espère que cela a aidé.

15
Sedrick

Si vous obtenez toujours une erreur indiquant «Activité par défaut introuvable» lorsque vous essayez de modifier les configurations d'exécution même après avoir exécuté:

Invalide le cache et redémarre .

Ensuite, essayez de supprimer le dossier Settings/Preferences:

/< USER_HOME_DIR >/.AndroidStudioPreview3.2

ou sur Mac:

/Users/<USER_NAME>/Library/Preferences/.AndroidStudioPreview3.2
9
Phileo99

Lorsque j'ai cliqué sur «Ouvrir les paramètres du module», il n'y avait pas d'onglet «Source», je pense que cela a été supprimé pour les versions plus récentes d'Android Studio (je suis sur 0.8.14). Je devais donc faire ceci à la place:

Ajoutez ces lignes au fichier build.gradle dans le bloc Android { ... }:

Android { ... sourceSets { main.Java.srcDirs += 'src/main/<YOUR DIRECTORY>' } }

Après avoir modifié le fichier, cliquez sur Outils> Android> Synchroniser le projet avec des fichiers Gradle.

Crédit à cette réponse et ce commentaire .

9
Josh

Suivre a fait le tour pour moi. De Run -> Edit Configuration.

 enter image description here

6
CoDe

Je viens de rencontrer la même erreur dans Android Studio 1.5.1. et vient de trouver la source du problème. Je ne suis pas sûr que la cause soit une erreur humaine ou un problème étrange dans le comportement de l'EDI, mais aucune des questions existantes de StackOverflow sur ce sujet n'a semblé montrer quoi que ce soit à ce sujet, alors j'ai pensé que je le publiais comme une réponse.

Pour moi, l'un des membres de mon équipe ou le IDE lui-même avait modifié l'entrée du manifeste des activités du programme de lancement, ce qui lui donnait l'aspect suivant:

        <activity
            Android:name="com.rhaebus.ui.activities.ActivitySplash"
            Android:launchMode="singleInstance"
            Android:screenOrientation="portrait">
            <intent-filter>
                <action Android:name="Android.intent.action.MAIN" />
                <id Android:name="Android.intent.id.LAUNCHER" />
            </intent-filter>
        </activity>

En fait, cela devrait ressembler à ceci:

        <activity Android:name="com.rhaebus.ui.activities.ActivitySplash"
            Android:launchMode="singleInstance"
            Android:screenOrientation="portrait">
            <intent-filter>
                <action Android:name="Android.intent.action.MAIN" />
                <category Android:name="Android.intent.category.LAUNCHER" /> <!-- Change Here -->
            </intent-filter>
        </activity>

Alors s'il vous plaît double, triple, quadruple, vérifiez le format de votre activité de lancement dans le manifeste et vous pourrez peut-être gagner du temps.

J'espère que cela t'aides.

EDIT: Je conseille vivement aux personnes de ne pas utiliser les réponses qui suggèrent de sélectionner manuellement une activité de lancement dans les options de configuration de votre module, car l'application ne figurerait plus dans la liste des applications installées à la fois. Samsung Galaxy S5 Neo et le Samsung Galaxy S6 (du moins pour moi).

2
Teun Kooijman

Assurez-vous dans le manifeste que le nom du paquet est identique à votre activité principale. 

1
U three

J'ai rencontré le même problème aujourd'hui et je parcourais les réponses ici.

Pour moi, la différence était qu'hier, cela fonctionnait bien et j'ai donc pensé que cela ne pouvait pas vraiment être un problème de configuration. Ni la configuration ni la version d'Android Studio n'ont changé.

Heureusement, j'ai essayé de redémarrer Android Studio avant d'essayer l'une des autres réponses, et heureusement, le problème a été résolu.

Donc, pour toutes les personnes qui se heurtent à ceci: la première chose à faire est de redémarrer Android Studio, et seulement si cela ne résout pas le problème, essayez les autres réponses ici.

1
Alexander Köb
  1. Dans Android Studio, passez en perspective Project (pas sous Android).

  2. Assurez-vous que votre projet respecte la structure par défaut du plugin Gradle (c'est-à-dire rép_projet/app/src/main/Java ... ).

  3. Supprimez tous les dossiers build et les sous-dossiers que vous voyez.

  4. Dans la barre d’outils, cliquez sur Construire -> Nettoyer le projet , puis Construire -> Reconstruire le projet .

  5. Essayez de lancer le projet.

1
IgorGanapolsky

cela m'est arrivé parce que j'ai capitalisé les chemins dans le manifeste. modifié: 

<intent-filter>
    <action Android:name="Android.INTENT.ACTION.MAIN"/>
    <category Android:name="Android.INTENT.CATEGORY.LAUNCHER"/>
</intent-filter>

à

<intent-filter>
  <action Android:name="Android.intent.action.MAIN"/>
  <category Android:name="Android.intent.category.LAUNCHER"/>
</intent-filter>

et il a été fixé

1
dabluck
  1. Cliquez avec le bouton droit sur le projet et choisissez Ouvrir les paramètres du module.
  2. Accédez à l'onglet Sources de votre module.
  3. Trouvez votre dossier src.
  4. Faites un clic droit dessus et marquez-le comme étant une source.

Cela a résolu l'erreur dans mon cas.

0
ConquerAndroid

Vous pouvez suivre deux étapes:

  1. Accédez aux configurations et entrez le nom de l'activité à lancer.
  2. Si cela ne fonctionne toujours pas Désactiver Instant Run  
0
Harish Rana

Pour ceux qui, comme moi, avaient du mal à trouver l'onglet "Sources":

 enter image description here

Ici, vous devez marquer votre dossier "src" en bleu (cliquez d'abord dans Marquer comme: Source, puis dans votre dossier src), et vous voilà prêt à partir.

0

Vous pouvez demander à Android Studio de ne pas vous plaindre en allant dans le menu "Modifier les configurations" (appuyez trois fois sur "Shift", tapez "Modifier les configurations"), puis modifiez les Options de lancement> Lancer en "Aucune".

Je vais probablement ajouter une activité générique contenant des instructions, juste pour éviter toute confusion.

0
Sayali

J'ai essayé toutes les solutions, mais je ne travaillais pas du tout… .. que j'ai essayé de désactiver Instant Run dans mon studio Android.

Accédez à Android Studio Paramètres ou Préférences (pour MAC) -> Création, exécution, déploiement -> Exécution instantanée

décochez la fonctionnalité d'exécution instantanée et ensuite après cliquez sur synchroniser le projet avec les fichiers de gradation à partir du menu Fichier

maintenant, lancez votre construction ...

0
Mayur Sakhiya

Si vous avez changé le nom des répertoires (structure de classe), par exemple com.dir.sample en com.dir.sample1, n'oubliez pas ensuite de changer le package com.dir.sample en com.dir.sample1.

0
Zafer

Modifier "Workspace.xml" (appuyez sur Ctrl + Maj + R pour le rechercher)

  1. Recharger le projet 

  2. Make sure to change "name="USE_COMMAND_LINE" to value="false"

  3. Reload the project

Done!

0
user582645