J'ai mis à niveau IntelliJ Idea 12.0.4 à 12.10.
Maintenant, tous les modules de mon projet Android donnent l'erreur:
Erreur: Activité par défaut introuvable
Je suis revenu à 12.0.4 et cela fonctionne.
Des idées ?? Je pense que cela pourrait être lié au fait que certains plugins ne sont pas installés car la seule chose qui aurait pu être une configuration locale, mais j'ai supprimé le dossier de configuration pour confirmer et cela n'a rien changé.
Si vous voyez cette erreur se produire après la mise à niveau de versions de IntelliJ IDEA ou d'Android Studio, ou après la création d'un nouveau fichier APK, vous devrez peut-être actualiser le cache de l'EDI.
File -> Invalidate Caches / Restart...
Je ne peux pas dire pourquoi la mise à niveau de IntelliJ pourrait causer ce problème parce que je ne l'utilise pas.
Cependant, cette erreur: "Activité par défaut non trouvée" semble vous indiquer qu'aucune activité déclarée dans AndroidManifest.xml n'est marquée comme activité principale et doit être lancée au démarrage de l'application.
Vous devriez avoir au moins une activité qui ressemble à ceci:
<activity
Android:name="com.your.package.name.YourActivity"
Android:label="@string/app_name">
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Si vous n'avez pas au moins une activité avec un tel filtre d'intention, vous verrez probablement le message d'erreur que vous avez inclus ici.
Vous devez ajouter ce filtre d'intention à l'activité que vous souhaitez ouvrir lorsque vous démarrez l'application, ce qui devrait résoudre votre problème.
Votre application a-t-elle une activité de lancement par défaut?
peut-être que cela pourrait être votre erreur
Étape 1: Sélectionnez Modifier les configurations.
Étape 2: observez cet avertissement: Activité par défaut introuvable
Étape 3: sélectionnez une activité par défaut
Étape 3: Enregistrez vos modifications et terminez
Bonne chance
Pour ce faire, vous devez ajouter les éléments suivants au fichier Manifest:
<activity
Android:name="FULL_NAME_OF_YOUR_ACTIVITY"
Android:label="@string/app_name" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Ceci devrait être inséré entre:
<application> </application>
Pas besoin d'invalider les caches.
Essayez de faire un clic 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
Si vous travaillez sur une application de widget, cette solution devrait fonctionner pour vous:
Edit Configuration
Launch Option
sur nothing
Dans Android Studio, sous Configuration Exécuter/Déboguer -> Application Android -> Général -> Activité -> sélectionnez l'option "Ne pas lancer d'activité".
Rien ci-dessus m'a aidé. Après un certain temps, j'ai trouvé que IDEA avait changé le nom de l'action en majuscule. Comme:
<intent-filter>
<action Android:name="Android.INTENT.ACTION.MAIN"/>
<category Android:name="Android.INTENT.CATEGORY.LAUNCHER"/>
</intent-filter>
Après le retour à la normale, IDEA reconnaît l'activité par défaut:
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
J'ai eu cette erreur.
Et trouvé que dans le fichier manifeste de l'activité de lancement je n'ai pas mis action
et category
dans le filtre d'intention.
Le mauvais:
<activity
Android:name=".VideoAdStarter"
Android:label="@string/app_name">
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</activity>
Le bon:
<activity
Android:name=".VideoAdStarter"
Android:label="@string/app_name">
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
@ TouchBoarder l'a presque eu. Bien que la sélection de "Ne pas lancer d'activité" n'entraîne aucun lancement.
Dans Android Studio sous Configuration Exécuter/Déboguer -> Application Android -> Général -> Activité -> sélectionnez l'option "Lancer:"
Choisissez votre activité. Cela ne corrige pas exactement le comportement souhaité, mais le remplace correctement.
Dans mon cas, File -> Invalidate Caches / Restart...
n'a pas aidé
Tout était ok avec mon projet et bien sûr j'avais un filtre d'intention suivant pour mon activité
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
Ce qui m'a vraiment aidé, c'est la suppression des dossiers de cache Android/Gradle (ils peuvent atteindre 10-30 Go).
Aller à C:\Users\YOUR_USER_WINDOWS_NAME
et supprimer les dossiers suivants
(vous pouvez enregistrer certaines configurations Android à partir de .AndroidStudio3.2
avant de les supprimer si vous le souhaitez)
Vous pouvez créer le fichier de batte CLEAR_CACHE.cmd
comme ceci pour supprimer des dossiers sans Corbeille
rmdir /S /Q .Android
rmdir /S /Q .AndroidStudio3.2
rmdir /S /Q .gradle
cela fonctionnerait beaucoup plus rapidement et vous n'avez pas à le supprimer aussi de la corbeille
p.s. mettre CLEAR_CACHE.cmd
dans C:\Users\YOUR_USER_WINDOWS_NAME
c'est aussi une bonne idée de supprimer le dossier Android Studio et de le télécharger à nouveau
J'ai trouvé ce blog qui a vraiment résolu ce problème dans mon cas. Il s'avère que vous devez ajouter une sorte d'intention:
<intent-filter>
<action Android:name="Android.intent.action.MAIN"/>
<category Android:name="Android.intent.category.LAUNCHER"/>
</intent-filter>
C'était vraiment simple. Référence:
J'ai changé mon filtre d'intention en
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.DEFAULT"/>
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
Ajoutez simplement l'option DEFAULT également. J'utilisais la bibliothèque Process Phoenix et cela m'a incité à définir une intention par défaut. Cet ajout a résolu mon problème.
Si votre application ne possède pas d'activité (par exemple, un service), modifiez l'option 'Lancer' de la configuration d'exécution/débogage sur rien.
Tout d'abord, assurez-vous que vous avez inclus l'activité par défaut dans le manifeste.
Exemple:
<activity Android:name=".DefaultActivity">
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Si vous avez tout essayé et que rien ne semble fonctionner, alors
Ou vérifiez cette réponse
Cette méthode fonctionne pour moi Cliquez sur l'icône de l'application, puis choisissez les configurations d'édition . Dans la configuration d'édition, choisissez l'activité spécifiée au lieu de l'activité par défaut . Indiquez ensuite le chemin de l'activité ci-dessous.
À la fin, synchronisez avec les fichiers Gradle.
J'ai trouvé ceci dans mon code:
<context Android:name=".MainActivity">
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</context>
Si vous regardez très attentivement, il devrait être plutôt <activity Android:name=".MainActivity">
.
Apparemment, j'ai refactoré une "activité" quelque part et cela a également changé de nom dans le Manifeste Android.
dans mon cas, j'ai refactored une variable membre nommée "activity", je l'ai renommée "context" ... j'ai découvert que le refactor avait été modifié activité tags dans le manifeste, et je les ai trouvés le contexte balises à la place ... c'est vraiment stupide d'Android Studio !!
Eh bien, j'ai aussi cette erreur,
Erreur: activité par défaut introuvable
bien dans mon cas c'était pour le module d'usure ..Je n'ai pas besoin d'une activité là-bas, donc ce que je fais est tout simplement
Remarque: N'oubliez pas de nettoyer le projet et de synchroniser les fichiers Gradle.
je viens de faire face à cette erreur sur Android studio 2.1.2 . résolu en ajoutant MAIN/LAUNCHER intent-filter à l’activité par défaut dansflavourmanifest, bien que le filtre soit déjà en activité par défaut dans le manifeste par défaut. Il était même dans un manifeste fusionné, mais studio ne pouvait pas le trouver avant que le filtre dupliqué dans les deux manifestes.
Modifier androidmanifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.example.Java2">
<application
Android:allowBackup="true"
Android:icon="@mipmap/ic_launcher"
Android:label="@string/app_name"
Android:roundIcon="@mipmap/ic_launcher_round"
Android:supportsRtl="true"
Android:theme="@style/AppTheme">
<activity Android:name=".MainActivityName">
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Build -> Rebuild Project
File -> Invalidate Caches.. -> Invalidate and restart
Ça marche pour moi. Reconstruisez le projet pour vous assurer qu'il n'y a pas d'erreur dans le projet. Ensuite, nous pouvons invalider le cache.
mon expérience: assurez-vous que tout votre fichier Java a été identifié, si IDEA n'identifie pas votre fichier Java, afin qu'il ne puisse pas comprendre ce que "Activité" signifie
bonne chance :)
Android Manifest.xml Définir l'activité de départ comme suit
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
J'ai le même problème dans Android Studio 3.3 Canary 3. Project de la version stable d'Android Studio 3.0 fonctionne correctement, puis après quelques nettoyages/reconstructions, il commence à afficher aucune erreur d'activité par défaut. J'ai essayé de réinstaller cette version alpha d'Android Studio: erreur à nouveau. Mais ensuite, il a démarré dans le vieux Android stable, et en utilisant apk installer, et cet apk fonctionne correctement.
De plus, mon projet a été créé avec Instant App (sous-répertoires base, feature, instant, app). Je pense que cet Android Studio a quelques problèmes avec les fichiers Manifest.xml séparés en plusieurs répertoires.
J'ai rencontré le même problème. Pour certaines raisons, Android Studio a remplacé tous les attributs Android:name
de la plupart des fichiers XML, y compris le manifeste, par Android:subject
, qui n'est pas reconnu par Android Studio.
Comme vous pouvez le voir sur l'image ci-dessus, IDE ne reconnaît pas l'attribut Android:subject
. En conséquence, il ne pourra pas lire les lignes qui spécifient MainActivty.
La solution consiste simplement à remplacer chaque Android:subject
par Android:name
, puis à Reconstruire le projet à partir du menu Générer -> Reconstruire le projet. Vous pouvez rencontrer le même problème lors de la reconstruction du projet, procédez comme ci-dessus.
Je faisais face à un problème similaire récemment. Le problème était avec le fichier xml activitymanifest . Veuillez vérifier si les slogans sont bien fermés.
Après avoir mis à jour Android Studio de la version 1.2.x à la version 1.3, j'ai eu le même problème et j'ai essayé toutes les suggestions, mais rien n'a fonctionné. Puis j'ai fait ceci:
Allez à Exécuter/Déboguer les configurations. Sélectionnez la configuration qui donne l'erreur et supprimez-la. Créez-en un nouveau avec le même nom et les mêmes paramètres. Après cela, reconnectez le câble USB et lancez l'application.
Cela a résolu le problème pour moi.
J'ai commencé avec une application de démonstration et l'ai modifiée. Je change le chemin Java dans source de com -> exemple -> foo en mon propre nom et modifie le manifeste; Cependant, Android Studio (0.8.7) est devenu très confus.
J'ai essayé tout ce qui est énuméré ci-dessus et rien de tout cela n'a fonctionné pour moi. Peut-être que cela a même aggravé les choses?
Ma dernière solution consistait à éditer <projectname>.iml
dans le sous-répertoire .idea
en l'ouvrant dans Android Studio (également appelé éditeur de texte).
Avant:
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
</content>
J'ai (ré) ajouté le répertoire src (2ème ligne) . Après:
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
</content>
Après l'avoir sauvegardé, Android Studio s'est rechargé et a fonctionné comme prévu.
Parfois, il est utile de désinstaller l'application pour tous les utilisateurs. Accédez à la liste des applications dans les paramètres, accédez à votre application ou faites défiler l'écran jusqu'à la fin de la liste, puis désinstallez-la. J'espère que cela t'aides
jusque là, rien ne m'a aidé et Android Studio a créé ce problème avec toutes mes applications qui fonctionnaient auparavant - alors je savais que cela n'avait rien à voir avec mon code.
MAINTENANT je l'ai résolu:
Vous devez réinitialiser Android Studio: Il suffit d'aller dans C:\Utilisateurs\votre nom d'utilisateur\androidStudio3.2 (ou similaire) et de supprimer ce répertoire.
Ce gars vous montre exactement comment le faire dans sa vidéo dans une version plus ancienne: https://www.youtube.com/watch?v=AwZEliSPGwU&t
Aller àbuild.gradle
(projet: xyz)
buildscript {
repositories {
jcenter()
google()
}
allprojects {
repositories {
jcenter()
google()
}
// Just place 'google()' to the top of 'jcenter()'
buildscript {
repositories {
google()
jcenter()
}
allprojects {
repositories {
google()
jcenter()
// enter code here
}
}
Cela fonctionne parfaitement pour moi.
Toutes les réponses ci-dessus ne m'ont pas aidé. Essayez de supprimer ceci
<?xml version="1.0" encoding="utf-8"?>
dans votre AndroidManifest. Ensuite:
File > Sync Project with Gradle Files
Erreur: activité par défaut introuvable
J'ai résolu de cette façon
Exécuter >> Modifier la configuration >> Application Android >> Entrez le chemin de votre classe d'activité Par défaut dans la boîte de dialogue "Lancer".
Parfois, cette erreur est due à un comportement incorrect du studio Android à cause du cache interne et du système de construction de projet. Même si nous avons défini tout parfait pour l'activité par défaut . Pour un tel problème, j'ai trouvé une solution et cela fonctionne pour moi.
Étape 1. Android Studio ---> Fichier -> Cache invalide et studio Android fermé.
Étape 2. Aller au chemin C:\Utilisateurs\USER.AndroidStudio3.2\system
Étape 3. Changer le nom avec l'extension .back du dossier ci-dessous Exemple: compiler devrait être compiler.back
Étape 4: Lancez Android Studio et ouvrez votre projet.
J'espère que cela fonctionnera pour vous.
Quittez Android Studio.
Aller au chemin C:\Users\YOUR_WINDOW_USER_NAME\.AndroidStudio3.3\system
Supprimer les dossiers/caches et/tmp
J'espère que cette réponse aide quelqu'un.
Si vous avez déjà la balise <intent-filter>
, assurez-vous simplement que vous fermez toutes les balises correctement.
Mon erreur était que je ferme la balise <activity>
simplement avec un </>
au lieu de </activity>
.
J'ai eu ce problème pendant 2 jours. J'ai essayé toutes les solutions possibles mais rien n'a fonctionné.
Enfin trouver une solution.
Voici ce que tu dois faire .
Fermer Android Studio
Accédez à C:\Users\UserName.Android et renommez le dossier build-cache en build-cache.bak.
Allez à C:\Users\UserName.AndroidStudio3.3\system et renommez ces dossiers
caches à caches.bak
serveur de compilation pour compiler-serveur.bak
compilateur à compiler.bak
conversion en conversion.bak
external_build_system à external_build_system.bak
cadres à frameworks.bak
gradle à gradle.bak
resource_folder_cache à resource_folder_cache.bak
Ouvrez Android Studio et ouvrez votre projet à nouveau.
Cela aidera quelqu'un qui a atterri sur cette page comme moi
J'ai l'erreur Erreur: Activité par défaut introuvable après avoir copié un code d'un cours en ligne.
L'erreur était dans la première ligne du fichier MainActivity.Java
Au lieu du paquetage com.example.myname.justjava;
la première ligne était le package com.example.Android.justjava;
à partir du code fourni pour l'apprentissage
La rectifier s'est débarrassé de l'erreur
Vérifier si une balise activity est présente dans application tag dans le fichier AndroidManifest.xml
J'ai eu cette erreur en essayant de lancer une application sans activité (c'était un projet androidTest). J'ai donc juste cliqué sur le projet de test et sélectionné Exécuter ou Déboguer dans le menu contextuel.
<activity Android:name=".MainActivity">
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Ajoutez simplement ceci dans votre fichier manifeste dans les balises, remplacez simplement MainActivity
par votre activité par défaut et Android.intent.action.youractivity
fonctionnera
Synchroniser le projet avec Gradle Files fonctionne parfois. Pour résoudre ce problème général, vous devez
Il va réindexer vos fichiers et cela devrait fonctionner
Merci à kirtan4 d'une question similaire.
J'ai eu ce problème sur Android studio 3.0.1, et cela était dû à un échec de fusion manifeste. Pour une raison quelconque, aucun message d'erreur ne m'a été envoyé dans la sortie du message. Je devais vérifier le manifeste fusionné (onglet app-> manifestes-> AndroidManifest.xml puis «manifeste manifesté»). Au bas de l'écran, une erreur indiquait que la dernière bibliothèque ajoutée dans le build.gradle dépendait une autre bibliothèque dont minSdk était plus élevé que mon application minSdk. La solution était dans ce message et c'était d'ajouter
<uses-sdk tools:overrideLibrary="timber.log"/>
sur AndroidManifest.xml. En réalité, cette bibliothèque (piwik 1.0.2) avait déjà cette overrideLibrary dans son manifeste.
La chose étrange était que d'autres membres de l'équipe n'ont pas rencontré ce problème.
Eh bien, je ne comprends pas parfois Android Studio ...
J'ai rencontré le même problème et j'ai essayé ce que les réponses ici disaient, mais en vain. Et puis j'ai changé une chose: l'action dans mon filtre d'intention était d'avoir le nom de l'action tout en majuscules et je l'ai changée en petite et je n'ai laissé que le mot MAIN en majuscules, et cela a résolu le problème! C'est absurde! J'espère que cela peut aider quelqu'un.
J'ai essayé d'invalider le cache et de le redémarrer, pas de chance. Ensuite, j'ai vérifié le manifeste, l'objectif de l'activité principale était correctement défini.
J'avais le travail «hors ligne» coché sous Paramètres globaux Gradle dans Fichier -> Paramètres -> Construire, Exécution, Déploiement -> Graduer
Je l'ai décoché, modifié le build.gradle (Projet) pour utiliser une version différente de gradle (com.Android.tools.build:gradle:3.3.1) et l'ai sauvegardé, ce qui a déclenché la synchronisation de Gradle.
Après la synchronisation, cette erreur a disparu, j'ai été capable de déboguer à nouveau.
TL; DR:
Assurez-vous que vous ne cochez pas seulement le nom action
et category
, mais le chemin. Surtout si vous avez fait un refactor.
La solution pour moi était de vérifier de près le fichier AndroidManifest
. J'ai fait un refactor, qui non seulement a mis à jour les filtres d'intention, mais également le chemin du nom du filtre d'intention:
//type and value were added to the path here when I did the refactor
<action Android:name="Android.intent.type.MAIN"/>
<category Android:name="Android.intent.value.LAUNCHER"/>
CA devrait etre:
<action Android:name="Android.intent.action.MAIN"/>
<category Android:name="Android.intent.category.LAUNCHER"/>
moche mais a travaillé pour moi:
Si ce message d'erreur avait été détecté, mon problème était lié à un module. Je venais de supprimer complètement la balise d'application du manifeste de mon module et cela fonctionnait.
(supprimez également ic_launcher de la bibliothèque de modules)
était:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.example.mymodule"
Android:versionCode="1"
Android:versionName="1.0" >
<uses-sdk
Android:minSdkVersion="16"
Android:targetSdkVersion="23" />
<application
Android:allowBackup="true"
Android:icon="@drawable/ic_launcher"
Android:label="@string/app_name"
>
<activity
Android:name="com.example.mymodule.MainActivity"
Android:label="@string/app_name" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
à présent:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.example.mymodule"
Android:versionCode="1"
Android:versionName="1.0" >
<uses-sdk
Android:minSdkVersion="16"
Android:targetSdkVersion="23" />
</manifest>
Dans mon cas, il y avait un type incorrect dans AndroidManifest.xml comme indiqué ci-dessous. Suppression de la lettre "o" au-dessus de l'étiquette d'application. Apparemment, Android Studio ne détecte pas les erreurs de type dans AndroidMainfest.xml
<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE"/>
o
<application Android:name=".AppName"
Android:allowBackup="false"
Android:icon="@drawable/ic_launcher"
Android:label="@string/app_name"
Android:theme="@Android:style/Theme.Light.NoTitleBar">
Tard dans la soirée… .. Il suffit de nettoyer et de reconstruire. Le problème aura disparu.
vérifiez toute la ligne dans votre manifeste.
dans mon cas j'ai cette erreur:
Android:theme="@Android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"
rien dans le logcat
Vous pourriez manquer d'attributs. Assurez-vous d'inclure cette activité dans le fichier manifeste
Si les options ci-dessus ne fonctionnent pas, essayez de supprimer le dossier .gradle.
J'utilise Android Studio 3.3.1. Tous mes projets allaient bien, quand ils ont soudainement cessé de fonctionner en disant qu'il n'y avait aucune activité. Même les nouveaux projets montraient la même erreur. Après des heures d'invalidation du cache, essayez de réparer le fichier Manifest. J'ai remarqué qu'il avait une relation avec les bibliothèques Android telles que (androidx.core: core-ktx). Dans certains projets, le simple fait de mettre à jour les bibliothèques corrigeait le problème, mais ce qui fonctionnait réellement était la suppression du dossier .gradle.