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?.
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>
Résolu en cliquant sur "Synchroniser le projet avec des fichiers de gradation"
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.
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
.
Ajouter la ligne ci-dessous dans votre tag d'application manifeste
<application
Android:name=".app"
...
</application>
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.