92 votes

Activité par défaut non trouvée dans Android Studio

Je viens d'effectuer une mise à jour vers Android Studio 0.2.8 et je reçois une erreur indiquant "Default Activity not found" lorsque j'essaie de modifier les configurations d'exécution.

Lorsque je lance Android Studio, j'obtiens l'erreur suivante : "L'accès n'est autorisé qu'à partir du fil de distribution des événements".

L'activité que j'utilise est une activité de fragmentation.

Jusqu'à présent, j'ai essayé de reconstruire et d'invalider les caches/redémarrer. Les deux n'ont servi à rien.

Veuillez me faire savoir ce que je peux faire pour résoudre ce problème.

2voto

Alexander Köb Points 944

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

Pour moi, la différence est qu'hier, cela fonctionnait bien, donc j'ai 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, cela a résolu le problème.

Donc, pour tous ceux qui rencontrent ce problème, la première chose à faire est de redémarrer Android Studio et si cela ne résout pas le problème, essayez les autres réponses ici.

2voto

Teun Kooijman Points 742

Je viens de rencontrer la même erreur dans Android Studio 1.5.1. et je viens 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'IDE, mais aucune des questions StackOverflow existantes sur ce sujet ne semble montrer quoi que ce soit à ce sujet, alors je me suis dit que je le posterais quand même comme une réponse.

Dans mon cas, l'un des membres de mon équipe ou l'IDE lui-même avait modifié l'entrée du manifeste des activités du lanceur, ce qui lui donnait l'apparence suivante :

        <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>

Alors que ça devrait, en fait, ressembler à ça :

        <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>

Vérifiez donc deux, trois, quatre fois le format de votre activité de lancement dans le manifeste et vous pourrez peut-être gagner du temps.

J'espère que cela vous aidera.

EDIT : Je conseille vivement de ne pas suivre les réponses qui suggèrent de sélectionner manuellement une activité de lanceur dans les options de configuration de votre module, car l'application n'apparaît plus dans la liste des applications installées sur le Samsung Galaxy S5 Neo et le Samsung Galaxy S6 (du moins pour moi).

2voto

Sayali Points 52

Vous pouvez faire en sorte qu'Android Studio ne se plaigne pas en allant dans le menu "Edit Configurations" (tapez trois fois sur "Shift", tapez "Edit Configurations"), puis changez Options de lancement > Lancement en "Rien".

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

1voto

IgorGanapolsky Points 14540
  1. Dans Android Studio, passez à la perspective du projet (et non à la perspective Android).

  2. Assurez-vous que votre projet suit la structure par défaut du plugin gradle (i.e. projet_dir/app/src/main/java... )

  3. Supprimer tout construire les dossiers et sous-dossiers que vous voyez.

  4. Dans la barre d'outils, cliquez sur Build -> Clean Project entonces Construire -> Reconstruire le projet .

  5. Essayez d'exécuter le projet.

1voto

U three Points 43

Assurez-vous dans le manifeste que le nom du paquet est le même que celui de votre activité principale.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X