Activité par défaut non trouvée dans Android Studio
je viens de passer à Android Studio 0.2.8 et je reçois une erreur qui dit" activité par défaut non trouvée " quand j'essaie de modifier les configurations d'exécution.
lorsque je lance Android Studio je reçois cette erreur "L'accès est autorisé à partir du thread event dispatch seulement"
l'activité que j'utilise est une activité de fragment.
Jusqu'à présent, j'ai essayé de reconstruire et d'invalider les caches/redémarrer. Les deux sont d'aucune utilité.
S'il vous plaît, faites-moi savoir ce que je peux faire pour régler le problème.
18 réponses
dans Android Studio, clic droit sur le projet et choisir ouvrir les paramètres du Module . Puis allez à l'onglet Sources dans votre module, trouvez le dossier src , faites un clic droit dessus et marquez-le comme 151920920" Sources (couleur bleue).
EDIT: Il n'y a pas de l'onglet sources dans les versions ultérieures D'Android Studio, mais vous pouvez éditer le construire.Grad file instead: https://stackoverflow.com/a/22028681/1101730 (Merci pour le commentaire Josh)
avez-vous Ajouté 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>
j'ai eu le même problème lors de l'importation d'un projet dans Android Studio, probablement causé par le fait que le projet a été développé sur une version plus ancienne D'Android Studio que celui actuellement installé sur mon ordinateur.
ce qui a résolu il était simplement l'exécution:
File -> Invalidate Caches / Restart...
et puis en cliquant sur Invalidate and Restart
.
si vous n'avez pas l'onglet et que vous avez commencé 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, va à ton AndroidManifest.fichier xml. Copiez ensuite le filtre d'intention de ce code. Regardez votre fichier manifeste vraiment bon et collez le filtre d'intention à l'endroit exact c'est dans le code ci-dessus. (après la .yourActivityName> partie du manifeste.) J'espère que cela a aidé.
quand j'ai cliqué sur" Ouvrir les paramètres du Module", il n'y avait pas d'onglet" Source " , je pense que parce que cela a été supprimé pour les nouvelles versions D'Android Studio (je suis sur 0.8.14). Donc j'ai dû faire ceci à la place:
ajouter ces lignes au fichier build.gradle
à l'intérieur du bloc android { ... }
:
android {
...
sourceSets {
main.java.srcDirs += 'src/main/<YOUR DIRECTORY>'
}
}
après avoir édité le fichier, cliquez sur Outils > Android > Synchronisation Projet avec Gradle Fichiers .
Crédit cette réponse et ce commentaire .
je viens de subir la même erreur dans Android Studio 1.5.1. et juste trouvé la source du problème. Je ne suis pas sûr si la cause était une erreur humaine ou un bug étrange dans le comportement de L'IDE, mais aucune des questions StackOverflow existantes sur ce sujet semble montrer quelque chose à ce sujet, donc j'ai pensé que je poste comme une réponse de toute façon.
pour moi, soit l'un des membres de mon équipe soit L'IDE lui-même, avait changé le Manifeste des activités de lanceur d'entrée, le faisant 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" />
<id android:name="android.intent.id.LAUNCHER" />
</intent-filter>
</activity>
Alors qu'il devrait, en fait, 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 lanceur dans le manifeste et vous pourriez être en mesure de gagner du temps.
Espérons que cette aide.
EDIT: Je recommande fortement aux gens de ne pas aller avec les réponses qui suggèrent de sélectionner manuellement une activité de lanceur à l'intérieur les options de configuration de votre module, car cela a causé l'application de ne plus être montré dans la liste des applications installées sur le Samsung Galaxy S5 Neo et le Samsung Galaxy S6 (au moins pour moi).
s'il vous plaît assurez-vous dans le manifeste que le nom du paquet est le même que votre activité principale
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é
j'ai rencontré le même problème aujourd'hui et j'ai parcouru les réponses ici.
pour moi, la différence était que hier ça marchait bien, donc j'ai pensé que ça ne pouvait pas vraiment être un problème de configuration, ni la configuration ni la Version D'Android Studio changée.
heureusement, j'ai essayé un redémarrage D'Android Studio avant d'essayer l'une des autres réponses, et heureusement qui a résolu le problème.
Donc, pour tous les gens là-bas qui courent dans ce: première chose à essayer est de redémarrer Android Studio et seulement si cela ne résout pas le problème essayer les autres réponses ici.
si vous obtenez toujours une erreur qui dit "activité par défaut non trouvée" lorsque vous essayez d'éditer les configurations d'exécution même après l'exécution:
invalider le cache et redémarrer .
essayez ensuite de supprimer le dossier Paramètres/Préférences:
/< USER_HOME_DIR >/.AndroidStudioPreview3.2
- faites un clic droit sur le projet et choisissez les paramètres du Module Ouvert.
- allez à L'onglet Sources dans votre module.
- Trouvez votre dossier src.
- faites un clic droit dessus et marquez-le comme source.
Cela a résolu l'erreur dans mon cas.
si vous avez changé le nom de répertoires (structure de classe) par exemple com.dir.sample à com.dir.sample1, après cela n'oubliez pas de changer de paquet com.dir.sample à com.dir.sample1.
Modifier " Espace De Travail.xml" (appuyez sur Ctrl + Shft + R pour une recherche)
-
modifier le nom de l'activité avec le nom du paquet
-
assurez-vous de changer "name= "USE_COMMAND_LINE" en valeur= "false"
-
recharger le projet
fait!
-
Dans Android Studio commutateur de point de vue du Projet (pas Android point de vue).
-
assurez-vous que votre projet suit la structure par défaut du plugin gradle (i.e. project_dir/app/src/main/java... )
-
supprimer tous les construire dossiers et sous-dossiers que vous voyez.
-
dans la barre d'outils cliquez sur Build -> Nettoyage de Projet , puis Build -> Projet de Reconstruction de .
-
essayez de mener le projet.
pour ceux comme moi qui luttaient pour trouver "l'onglet Sources":
ici, vous devez marquer votre dossier " src "en bleu (d'abord cliquez dans Marquer comme: Source , puis dans votre src dossier), et vous êtes bon pour aller.
il y a deux étapes que vous pouvez suivre:
- aller aux configurations et inscrire le nom de l'activité à lancer
- Si ça ne fonctionne toujours pas Désactiver Instant Exécuter
- Dans Android Studio
- allez à modifier la Configuration .
- sélectionnez l'application.
- choisissez le sentier d'activité du déjeuner.
-
appliquer, OK.
Merci!!