[android] Erreur: activité par défaut introuvable


Answers

Je ne peux pas commenter pourquoi la mise à niveau d'IntelliJ pourrait causer ce problème parce que je ne l'utilise pas.

Toutefois, cette erreur: "Activité par défaut introuvable" semble indiquer que vous n'avez pas déclaré d'activité dans AndroidManifest.xml marquée comme activité principale, à lancer 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 filtre d'intention comme celui-ci, 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.

Question

J'ai amélioré 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 qu'il pourrait être lié à certains plugins n'étant pas installés parce que la seule autre chose aurait pu être une configuration locale, mais j'ai supprimé le dossier de configuration pour confirmer et cela n'a rien changé.




La méthode correcte pour cela consiste à ajouter ce qui suit au fichier manifeste:

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

Cela devrait être inséré entre:

<application> </application>

Pas besoin d'invalider les caches.




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 zone d'édition "Lancer".




J'ai commencé avec une application de démonstration et l'ai modifiée. Je change le chemin java à l'intérieur de la source de com -> example -> foo en mien et édite le manifeste; Cependant, Android Studio (0.8.7) est devenu très confus.

J'ai essayé tout ce qui est indiqué ci-dessus et rien de tout cela n'a fonctionné pour moi. Peut-être que ça a même empiré les choses?

Ma dernière solution consistait à éditer <projectname>.iml dans le sous-répertoire .idea en l'ouvrant dans Android Studio (éditeur de texte).

Avant:

<content url="file://$MODULE_DIR$">
  <sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
</content>

J'ai (re) 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 commencé à fonctionner comme prévu.




Rien d'autre ne m'a aidé. Après un certain temps, j'ai trouvé que IDEA a changé les noms d'action en majuscules. 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>



Dans le cas où votre application ne dispose pas d'une activité (uniquement un service par exemple), modifiez l'option Exécution de l'exécution / configuration du débogage sur Nothing.




juste fait face à cette erreur sur android studio 2.1.2. résolu en ajoutant MAIN / LAUNCHER intention-filter à l'activité par défaut dans le manifeste de saveur , même si le filtre était déjà dans l'activité par défaut dans le manifeste par défaut. Il était même dans le manifeste fusionné, mais studio ne peut pas le trouver jusqu'à ce que j'ai dupliqué le filtre dans les deux manifestes.




J'ai rencontré le même problème. Pour certaines raisons, Android Studio a remplacé tous les attributs android:name dans la plupart des fichiers XML, y compris le manifeste, à android:subject qui n'est pas reconnu par Android Studio.

Comme vous pouvez le voir dans l'image ci-dessus, l'EDI ne reconnaît pas l'attribut android:subject . Par conséquent, il ne sera pas capable de lire les lignes qui spécifient MainActivty.

La solution est simplement de changer tous les android:subject de android:name , puis Reconstruire le projet à partir du menu Générer -> Reconstruire le projet. Vous pourriez rencontrer le même problème lors de la reconstruction du projet, faites comme ci-dessus.




Si vous travaillez sur une application de widget, cette solution devrait fonctionner pour vous:

  1. Aller à Edit Configuration
  2. Définir l' Launch Option sur nothing



J'ai aussi cette erreur,

Erreur: activité par défaut introuvable

Eh bien dans mon cas c'était pour le module d'usure ..Je n'ai pas besoin d'une activité là donc ce que je fais est simplement

  1. allez dans edit configuaration -> wear-> Launch Options-> Launch-> Nothing.
  2. Appliquer les modifications.Cliquez sur OK.
  3. Supprimez le code existant pour l'activité par défaut de votre fichier manifeste.

Remarque: N'oubliez pas de nettoyer les fichiers de projet et de synchronisation.




Android Manifest.xml définit l'activité de démarrage comme suit

<intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>



J'ai eu cette erreur.

Et constaté que dans le fichier manifeste dans l'activité du lanceur je n'ai pas mis l'action et la catégorie 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>



moche mais a travaillé pour moi:

Avait ce message d'erreur, mon problème était dans un module, j'ai juste supprimé la balise d'application complétement du manifeste de mon module et cela a fonctionné.

(supprime également ic_launcher de la bibliothèque du module)

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



Eh bien, je ne comprends pas Android Studio parfois ...

J'ai rencontré le même problème et essayé ce que les réponses ici ont dit, mais en vain. Et puis j'ai changé une chose: l'action dans mon intention-filtre était d'avoir le nom de l'action tout en majuscules et je l'ai changé en petit et a laissé seulement le mot MAIN en majuscules, et cela a résolu le problème! Comme c'est absurde! J'espère que cela peut aider quelqu'un.




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




Links