Je viens de passer à Android Studio 0.2.8 et j'obtiens un message d'erreur indiquant "Activité par défaut introuvable" lorsque j'essaie de modifier les configurations d'exécution.
Lorsque je lance Android Studio, j'obtiens le message d'erreur "L'accès est autorisé à partir du fil de distribution d'événements uniquement"
L'activité que j'utilise est une activité fragmentaire.
Jusqu'à présent, j'ai essayé de reconstruire et d'invalider les caches / redémarrer. Les deux n'étaient d'aucune utilité.
Veuillez me faire savoir ce que je peux faire pour résoudre le problème.
android
android-studio
android-fragmentactivity
Vipassana Vijayarangan
la source
la source
Réponses:
Dans Android Studio, faites un clic droit sur le projet et choisissez Ouvrir les paramètres du module . Ensuite, allez dans l' onglet Sources de votre module, trouvez 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)
la source
Avez-vous ajouté un
ACTION_MAIN
filtre d'intention à votre activité principale? Si vous n'ajoutez pas cela, 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>
la source
"com.package.name.MyActivity"
peut être omis si tout l'<intent-filter>
élément est à l'intérieur d'un<activity>
élément qui correspond à votre MyActivity dans votre espace de noms.Filter
incluant toutes les variables nomméesfilter
et apparemment Android Studio a décidé d'inclureAndroidManifest.xml
et<intent-*filter*>
. Cette réponse a fait ma double vérificationAndroidManifest.xml
et m'a aidé à trouver le bogue =)J'ai eu le même problème lors de l'importation d'un projet dans Android Studio, probablement dû au fait que le projet a été développé sur une version antérieure d'Android Studio à celle actuellement installée sur mon ordinateur.
Ce qui l'a résolu, c'était simplement de choisir:
File -> Invalidate Caches / Restart...
puis en sélectionnant
Invalidate and Restart
.la source
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>
Accédez maintenant à votre fichier AndroidManifest.xml. Copiez ensuite le filtre d'intention 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é.
la source
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 l'exécution:
Invalidez le cache et redémarrez .
Essayez ensuite de supprimer le dossier Paramètres / Préférences:
/< USER_HOME_DIR >/.AndroidStudioPreview3.2
ou sur Mac:
/Users/<USER_NAME>/Library/Preferences/.AndroidStudioPreview3.2
la source
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 nouvelles versions d'Android Studio (je suis sur 0.8.14). J'ai donc dû faire ceci à la place:
Ajoutez ces lignes au
build.gradle
fichier à l'intérieur duandroid { ... }
bloc:android { ... sourceSets { main.java.srcDirs += 'src/main/<YOUR DIRECTORY>' } }
Après avoir modifié le fichier, cliquez sur Outils> Android> Synchroniser le projet avec les fichiers Gradle .
Crédit à cette réponse et à ce commentaire .
la source
La suite a fait l'affaire pour moi. À partir de Exécuter -> Modifier la configuration .
la source
Mon problème se résumait à une erreur supplémentaire qui apparaissait parfois, indiquant
Manifest Merger failed with multiple errors in Android Studio
Ce qui a finalement causé mon problème était le fait qu'il y avait plusieurs manifestes (un manifeste de débogage et un manifeste dans le nouveau module que je venais d'importer), et ils ne fusionnaient pas correctement à cause de cela. Après avoir vu cette réponse , j'ai pu analyser le manifeste fusionné et trouver la cause du problème et le résoudre.
la source
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 c'était réparé
la source
J'ai rencontré le même problème aujourd'hui et je passais en revue les réponses ici.
Pour moi, la différence était 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 toutes les personnes qui rencontrent ceci: la première chose à essayer est de redémarrer Android Studio et seulement si cela ne résout pas le problème, essayez les autres réponses ici.
la source
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 sais pas si la cause était une erreur humaine ou un étrange problème dans le comportement de l'EDI, mais aucune des questions StackOverflow existantes sur ce sujet ne semblait montrer quoi que ce soit à ce sujet, alors j'ai pensé que je la postais quand même comme une réponse.
Pour moi, l'un des membres de mon équipe ou l'EDI lui-même avait modifié l'entrée du manifeste des activités du lanceur, la 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 que cela 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>
Veuillez donc doubler, tripler, quadrupler le format de votre activité de lanceur dans le manifeste et vous pourrez peut-être gagner du temps.
J'espère que cela t'aides.
EDIT: Je suggère fortement aux gens de ne pas aller avec les réponses qui suggèrent de sélectionner manuellement une activité de lanceur dans les options de configuration de votre module, car cela a empêché l'application de s'afficher dans la liste des applications installées sur le Samsung Galaxy S5. Neo et le Samsung Galaxy S6 (du moins pour moi).
la source
Appuyez sur l' application -> Modifier les configurations
Après cette modification de la valeur dans Lancer sur "Rien"
la source
Veuillez vous assurer dans le manifeste que le nom du package est identique à votre activité principale
la source
Dans Android Studio, passez à la perspective Projet (pas à la perspective Android).
Assurez-vous que votre projet suit la structure par défaut du plugin gradle (ie 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 -> Clean Project , puis sur Build -> Rebuild Project .
Essayez d'exécuter le projet.
la source
Vous pouvez empêcher Android Studio de se plaindre en allant dans le menu "Modifier les configurations" (appuyez trois fois sur "Shift", tapez "Edit Configurations"), puis changez Options de lancement> Lancer sur "Rien".
J'ajouterai probablement une activité générique contenant des instructions, histoire d'éviter toute confusion.
la source
Dans mon cas, cela a fonctionné lorsque j'ai supprimé le dossier .idea du projet (Project / .ida) et rouvert Android Studio.
la source
Cela a résolu l'erreur dans mon cas.
la source
Si vous avez changé le nom des répertoires (structure de classe), par exemple com.dir.sample en com.dir.sample1, n'oubliez pas de changer le package com.dir.sample en com.dir.sample1.
la source
Modifiez "Workspace.xml" (appuyez sur Ctrl + Shft + R pour le rechercher)
Modifiez le nom de l'activité avec le nom du package
Assurez-vous de remplacer "name =" USE_COMMAND_LINE "par value =" false "
Recharger le projet
Terminé!
la source
Pour ceux comme moi qui avaient du mal à trouver l'onglet "Sources":
Ici, vous devez marquer votre dossier "src" en bleu (cliquez d'abord dans Marquer comme: Source , puis dans votre dossier src ), et vous êtes prêt à partir.
la source
Vous pouvez suivre deux étapes:
la source
J'ai essayé toutes les solutions, mais je ne fonctionne pas du tout. que j'ai essayé de désactiver l'exécution instantanée dans mon studio Android.
Accédez aux paramètres ou aux préférences d'Android Studio (pour MAC) -> Build, Execution, Deployment -> Instant Run .
décochez la fonctionnalité d'exécution instantanée et ensuite cliquez sur le projet de synchronisation avec les fichiers gradle du menu fichier
maintenant lancez votre build ...
la source
Dans certains cas, vous pouvez avoir un modèle avec un
category
champ, si vous le refactorisez à tous les endroits, il peut le refactoriser dans un fichier manifeste, puis la balise xml deviendra invalide.la source
De nombreuses possibilités peuvent se présenter pour ce genre de cas (Activité par défaut non trouvée) Si tout le code va bien, en particulier sur Manifest, il suffit juste d'invalider le cache et de redémarrer le studio,
Mais parfois, cela se produit lorsque vous avez une déclaration d'activité en double sur le manifeste, non seulement pour l'activité principale, mais également déclenchée par les activités enfants.
Cela s'est produit avec moi, activité par défaut introuvable car j'ai des activités enfant de duplication sur le manifeste, après avoir supprimé cela, tout va bien
la source
Vérifiez s'il y a une balise en double dans votre
AndroidManifest.xml
fichier.la source
Je l'ai compris. J'ai ajouté par erreur le mot-clé final dans la déclaration d'activité. Une fois que je l'ai supprimé, tout fonctionne!
public class SplashActivity extends AppCompatActivity { ... }
la source
Dans Android Studio
Allez à modifier la configuration.
Sélectionnez l'appli.
choisissez le chemin de l'activité du déjeuner.
appliquer, OK.
Merci!!
la source
Le nom de l'activité par défaut a changé (comme SplashActivity -> SplashActivity1) et fonctionne pour moi
la source