web-dev-qa-db-fra.com

Type d'erreur 3: La classe d'activité {...} n'existe pas

AndroidManifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
      package="com.m.e"
      Android:versionCode="5"
      Android:versionName="3.0">

<uses-sdk
        Android:minSdkVersion="8"
        Android:targetSdkVersion="18"/>

<uses-permission Android:name="Android.permission.INTERNET"/>
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE"/>

<application
        Android:allowBackup="true"
        Android:icon="@drawable/ic_launcher"
        Android:label="@string/app_name"
        Android:theme="@style/AppTheme">
    <activity
            Android:name="com.m.e"
            Android:label="@string/app_name"
            Android:screenOrientation="portrait"
            Android:configChanges="orientation|keyboardHidden">
        <intent-filter>
            <action
                    Android:name="Android.intent.action.MAIN"
                    />

            <category Android:name="Android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    <activity
            Android:name="com.m.e"
            Android:label="@string/app_name"
            Android:screenOrientation="portrait"
            Android:configChanges="orientation|keyboardHidden">
        <intent-filter>
            <action
                    Android:name="Android.intent.action.first"
                   />

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

    .....

</application>

</manifest>

Erreur :

 Starting: Intent { act=Android.intent.action.MAIN cat=[Android.intent.category.LAUNCHER] cmp=com.m.e/.Splash }
 Error type 3
 Error: Activity class {com.m.e/com.m.e.Splash} does not exist.

Remarque:.Splashle existe-t-il.

23
Chad Bingham

Dans build.gradle, la ligne:

 apply plugin: 'Android-library'

besoins changés en:

 apply plugin: 'com.Android.application'
28
Chad Bingham

J'ai eu la même erreur après avoir renommé/refactoré. Ce que j'ai fait est d'ajouter l'attribut de propriété applicationId à mon fichier build.gradle et de définir sa valeur sur le package d'application. Comme ça:

Android{
    defaultConfig{
        applicationId "com.example.mypackage"
    }
}
20
Blue5hift

Bien que ce soit une question posée il y a des années, j'aimerais partager ma solution.

Ouvrez Run-> Edit Configuration, vérifiez si "Deploy default APK" est choisi dans le panneau du paquet. "Deploy default APK" devrait être choisi.

Le problème me vient parce que je choisis "Ne déployez rien" plus tôt pour une raison quelconque et que j'oublie d'annuler le choix.

13
Shawlaw
adb uninstall <your package name>

C'est ce qui a fonctionné pour moi. Bien que l'application ne soit même pas apparue comme une application installée, la commande de désinstallation a résolu le problème. Ma théorie: il est probable que certaines données n’ont pas été effacées après une précédente désinstallation, ce qui empêche la prochaine installation de se terminer.

7
WindRider

J'ai essayé toutes les suggestions ci-dessus, mais seulement cela a résolu mon problème;

  1. Changer le nom du paquet non pertinent et synchroniser le dégradé.
  2. Changez le nom du paquet pour que vous vouliez vraiment, synchronisez et exécutez.
5
mesutbeyaztas

J'ai également rencontré le même problème, un problème est survenu lorsque je désinstalle l'application et le même temps, j'ai donné build. Puis, en studio, l'erreur ci-dessus est signalée. J'ai donc essayé toutes les options, mais celles-ci ne fonctionnent pas pour moi.Alors j'ai vérifié dans settings -> apps -> selected my application et j’ai vu que l’application est désactivée, elle n’est donc pas installée (donnant une erreur). J’ai désinstallé l’application et essayé de la construire, puis elle fonctionne correctement.

5
Hanuman

J'ai eu cette erreur sur Android O (Google Pixel C) .Je pense que je vais obtenir sur d'autres appareils aussi.

J'ai essayé d'installer (à partir d'AndroidStudio) sur n'importe quel appareil, mais pas sur Android O. Sur Android o j'obtenais la même erreur (comme indiqué ci-dessous).

La cause-racine. J'ai deux utilisateurs sur ce périphérique (utilisateur1, utilisateur2) . Lorsque je désinstalle l'application de l'utilisateur1 (l'application est toujours là dans utilisateur2) . Lorsque j'essaie de réinstaller l'application sur utilisateur1, l'erreur est renvoyée. Même cas dans user2 . Pour résoudre le problème si je désinstalle l'application des deux utilisateurs et que je la réinstalle, cela fonctionne.

Depuis le lien de commande si nous utilisons "adb install -r example.apk", cela fonctionne, mais AndroidStudio ne fait pas de désinstallation ni de réinstallation (si vous avez deux utilisateurs dans le périphérique).

Donc, dans mon cas, c'était en raison de plus d'un problème d'utilisateur. Tous mes autres appareils (autres que Android O) sont mono-utilisateur, c’est la raison pour laquelle il fonctionnait sur d’autres, sauf sur Pixel C (avec deux utilisateurs) . Faites donc attention aux appareils multi-utilisateurs.

No apk changes detected since last installation, skipping installation of /home/user/Project/AndroidStudioProjects/MyAddress/app/build/outputs/apk/app-debug.apk
$ adb Shell am force-stop com.arris.myaddress
$ adb Shell am start -n "com.example.address/com.example.address.MainActivity1" -a Android.intent.action.MAIN -c Android.intent.category.LAUNCHER
Error while executing: am start -n "com.example.address/com.example.address.MainActivity1" -a Android.intent.action.MAIN -c Android.intent.category.LAUNCHER
Starting: Intent { act=Android.intent.action.MAIN cat=[Android.intent.category.LAUNCHER] cmp=com.example.address/.MainActivity1 }
Error type 3
Error: Activity class {com.example.address/com.example.address.MainActivity1} does not exist.

Error while Launching activity
4

Accédez aux paramètres de votre appareil. Sélectionnez l'option de l'application, sélectionnez cette application dans la liste, dans le coin supérieur droit, sélectionnez l'option de la barre de menus, puis sélectionnez Supprimer pour tous les utilisateurs . Cela a fonctionné pour moi. 

4
Anil Chahal

Je viens tout juste de rencontrer cette erreur ..__ Je l'ai corrigée en désinstallant complètement l'application sur mon appareil, puis en l'exécutant à nouveau.

Pour offrir un certain contexte, cela a été provoqué en utilisant setComponentSetting ()

3
Cole Murray

Oui, je sais qu’il existe déjà une réponse acceptée, mais que cela ne fonctionne pas (ou risque de ne plus fonctionner). Actuellement sur Android 8.0 Oreo version, il est possible que votre application soit désinstallée sur votre appareil "Mais pas pour tous les utilisateurs". Ainsi, la prochaine fois que vous déboguez votre application avec votre appareil, cette erreur se produit. 

Error: Activity class "class path here" does not exist
Error type 3

Voici comment résoudre ce problème qui fonctionne (recherche pendant 2 jours, croyez-moi)

  1. Si vous pouvez toujours voir votre application sous Paramètres> Application> Sélectionnez votre application et accédez à option sur sa barre d'outils, puis sélectionnez " Désinstaller pour tout utilisateur ".

  2. Si votre application ne figure pas dans la liste des applications, générez/construisez un APK , dans mon cas (Android Studio 3.0.1), vous pouvez accéder à Construire> Construire Apk . Installez-le manuellement sur votre appareil. Puis faites l'étape 1 .

Là ! Votre application est entièrement nettoyée et parfaitement désinstallée. Vous pouvez maintenant le déboguer avec l'environnement de développement. 

Pour des recherches ultérieures: Je crois application Samsung Pass a quelque chose à voir avec cette erreur. Même après la désinstallation. Mon projet est toujours sur leur liste. 

Codages heureux

3
ralphgabb

Lorsque vous avez modifié manuellement le nom du package, si le manifest.xml est ok, vous devez modifier

appliquer le plugin: 'Android'

à

appliquer le plugin: 'com.Android.application'

2
john vuong

Je suppose que vous avez un appareil comme mon LG Stylus 3 Android 7.0, dans lequel, lorsque vous appuyez et déplacez une application depuis le bureau vers la corbeille, cette application n'est pas supprimée de l'appareil. Voir ma réponse acceptée sur la même question pour plus de détails.

1
isabsent

Votre erreur indique qu'il recherche com.codealchemist.clashmma.splash. La plupart des classes Java commencent par une lettre majuscule - assurez-vous que le nom de votre classe correspond exactement.

1
ianhanniballake

J'utilisais un module de bibliothèque avec un exemple d'activité spécifié dans le manifeste.

extraire l'exemple de l'activité du manifeste du projet de bibliothèque a fonctionné pour moi.

0
Barrie Galitzky

J'ai eu le même problème que je ne pouvais pas trouver une solution après avoir cherché et essayé des correctifs ici et là. La seule chose qui a fonctionné pour moi est de créer un nouveau projet, de copier tous les codes des anciennes activités et de les coller dans les nouvelles activités créées (noms similaires mais paquet différent). Cela a très bien fonctionné. J'ai essayé avant de changer le nom du paquet mais cela n'a pas fonctionné. Cela pourrait fonctionner pour vous les gars.

0
Ibrahim Al Ouayed

Vérifiez si vous construisez une version cachée. C'est le comportement prévu pour l'application cachée.

Si vous souhaitez créer une version régulière, vous devez modifier la variante de construction dans Android Studio Construire> Sélectionner la variante de construction , modifiez-la en version normale.

0
Mohamed Dernoun

Il s’agit principalement d’un problème Eclipse. Les scénarios normaux peuvent donc fonctionner avec vous. Nettoyez le projet et reconstruisez l'espace de travail, ouvrez le manifeste et vérifiez s'il y a une erreur, revérifiez le nom de classe mentionné dans le journal, nettoyez encore et encore, redémarrez Eclipse, ouvrez et nettoyez.

0
MSaudi

Dans mon cas, j'ai essayé tous les mentionnés ici et ils ne résolvent pas mon problème. Le problème n'était pas dans Android Studio, mais dans l'appareil. Et après avoir réinitialisé mon appareil Android aux paramètres d'usine (comme décrit ici https://support.google.com/Android-one/answer/6088915?hl=fr ), le problème a disparu.

0
azhidkov

Renommer l'activité était la solution dans mon cas.

0
Asqan

Voici comment je l'ai corrigé. allez à gradle> Tasks> Install> UninstallAll

 enter image description here

0
Yassin Ajdi

J'ai résolu ce problème en redémarrant mon périphérique de test et en redémarrant Android Studio.

0
Adam Johns