web-dev-qa-db-fra.com

Android studio Activité par défaut introuvable

Après avoir créé ma propre classe d’appplication:

package com.example.bezzabarovaa.myapplication;
import Android.app.Application;
import Android.content.Context;

/**
 * Created by bezzabarovaa on 04.08.2017.
 */

public class app extends Application {
public static Context context;

@Override public void onCreate() {
    super.onCreate();
    context = getApplicationContext();
}

}

et ont modifié le fichier manifest.xml (application changée en classe d'application)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.example.bezzabarovaa.myapplication">

<app
    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=".MainActivity"
        Android:label = "@string/app_name">

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

            <category Android:name="Android.intent.category.LAUNCHER" />
            <category Android:name="Android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
</app>

J'ai un message d'erreur en cours d'exécution Sans nom: Activité par défaut introuvable

Si je vais changer ma classe app de nouveau à application dans manifest.xml - tout va bien ... Où est un problème?.

6
Андрей Б

Ce <app est censé être <application vous spécifiez votre application personnalisée ici: 

<application Android:name=".app" ...

Vérifiez la documentation la section du nom dit: 

Nom qualifié complet d'une sous-classe Application implémentée pour L'application. Lorsque le processus d’application est lancé, cette classe est instancié avant tout composant de l'application. Le la sous-classe est facultative; la plupart des applications n'en auront pas besoin. En l'absence d'une sous-classe, Android utilise une instance de la classe Application de base.

Exemple complet (avec votre code):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.example.bezzabarovaa.myapplication">

<application
    Android:name=".app"
    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=".MainActivity"
        Android:label = "@string/app_name">

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

            <category Android:name="Android.intent.category.LAUNCHER" />
            <category Android:name="Android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
</application>
</manifest>
8
Matias Olocco

Résolu en cliquant sur "Synchroniser le projet avec des fichiers de gradation"

3
Polycarp Kavoo

utiliser l'extrait de code ci-dessous

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.example.bezzabarovaa.myapplication">

<application
    Android:name=".app"
    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=".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>

J'espère que ceci vous aidera.

2
Anurag Shrivastava

J'ai rencontré le même problème il y a quelque temps, après avoir changé mon activité par défaut.

Ce qui a résolu le problème était d'invalider les caches et de redémarrer Android Studio:

File -> Invalidate Caches / Restart...

puis en cliquant sur Invalidate and Restart.

1
GuilhermeFGL

Ajouter la ligne ci-dessous dans votre tag d'application manifeste

<application
    Android:name=".app"
    ...
     </application>
0
Vishal Vaishnav

Vous pouvez demander à Android Studio de ne pas vous plaindre en allant dans le menu "Modifier les configurations" (appuyez trois fois sur "Shift", tapez "Modifier les configurations"), puis modifiez les Options de lancement> Lancer en "Aucune".

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

0
Morteza Djangjoo