Android: l'Activité n'est pas inscrit dans le manifeste
<uses-sdk android:minSdkVersion="7" />
<application
android:description="@string/app_description"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.Light" >
<activity
android:name="com.xyz.Main.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>
Et la Non-outil m'a dit que mon activité n'est pas inscrite dans le manifeste et si j'essaie de le lancer, LogCat de bien vouloir me dit:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.name/com.xyz.Main.MainActivity}: java.lang.ClassNotFoundException: com.xyz.Main.MainActivity
C'est me rend fou, j'ai ré-installé Eclipse ainsi que la mise à jour du SDK et des trucs à l'API de niveau 17 et maintenant j'ai l'impression d'être incapable d'exécuter mon très propre application. J'ai absolument aucune idée de ce que l'enfer est le problème ici, apparemment, l'activité est parfaitement inscrit dans la manifest.xml.
Merci d'avance.
com.xyz.Main.MainActivity
est le bon nom du package? et quand vous dites manifest.xml
, vous ne signifie AndroidManifest.xml
, correct?est votre
Activity
classe privée? si oui, changer de public.en haut de votre
AndroidManifest.xml
fichier, vous allez voir un package="package_name_here"
attribut. vous pouvez essayer le réglage de votre android:name=".MainActivity"
ou quelque chose le long de ces lignes (où la précédente .
fondamentalement, ajoute le reste du nom de package pour vous). elle est identique à écrire le nom complet du paquet comme vous l'avez fait, mais il est arrivé au point où vous êtes re-installer le SDK, il ne pouvait pas de mal à essayer 😛Ne fonctionne pas non plus. Le nom-du-paquet est 100% correct, simplement en utilisant un chemin relatif pour la classe (par l'utilisation d'un point) n'a pas faire le travail. Ne re-installer le SDK.
je vous garantie que l'erreur qui est à l'origine de ce est quelque chose d'incroyablement stupide trop :P. essayez de changer le nom du package tous ensemble.
com.[your last name].[your app name].MainActivity
. et puis assurez-vous en haut de votre MainActivity
classe, vous avez package com.[your last name].[your app name];
OriginalL'auteur otter-in-a-suit | 2012-03-24
Vous devez vous connecter pour publier un commentaire.
Votre nom de paquet contient une lettre majuscule ("Principal"), qui pourrait être un problème. Découvrez sur cette question code.google.com:
http://code.google.com/p/android/issues/detail?id=27529
N'a pas fonctionné pour moi. Changé le nom du paquet à minuscules-seulement des lettres et remarqué aucun changement.
OriginalL'auteur soren.qvist
J'ai la solution. Aujourd'hui, je me sentais assez motivé obtenir mes mains sur ce projet de nouveau et a essayé de porter le projet à un Linux-distribution (ce qui m'a amené à la conclusion que Linux est une douleur dans le cul pour Android développement) ainsi que l'intégration de "ligne par ligne" d'un nouveau projet Android.
J'ai utilisé pour mettre en œuvre la Chaîne & Entier-interfaces avec certaines constantes et des valeurs (par exemple, 0x00 pour "visible"). Malheureusement, Android semble avoir du mal avec des interfaces et de l'activité-classes. Retrait de l'interface et faire des références statiques sur les constantes fait l'émulateur se débarrasser du problème.
J'espère que cela va aider au moins une personne à la recherche de ce problème.
OriginalL'auteur otter-in-a-suit
Si cela se produit, corriger le "paquet" nom (comme d'autres l'ont dit), alors assurez-vous de re-exécuter "Android Charpie".
L'avertissement restera jusqu'à Peluches a été exécuté à nouveau, après la correction de l'erreur.
OriginalL'auteur Tigger
J'ai eu le même problème: les Peluches ne pas reconnaître l'évidence description correcte dans AndroidManifest.xml.
J'ai ensuite changé le nom du paquet à un, avec seulement une petite alphabethical des lettres et des points.
Refactoriser le régime de l'Éclipse n'a pas renommer le nom du package partout, automatiquement, de sorte que j'ai dû résoudre quelques situations à la main, à l'instar de retaper le nom du package dans le fichier manifest.
Lorsque toutes les parties de la demande au dernier mentionné le nouveau nom de package, la fibre a également été enfin réunies.
Donc l'utilisation de majuscules et de chiffres dans les noms de paquets uniquement si vous aimez la difficulté.
Je voudrais appeler ce un bug, ou au moins une nuisance, en Charpie, puisque les noms de paquets devraient être autorisés à suivre Java règles.
OriginalL'auteur Viggo Holmstedt
J'ai fait le même message d'erreur, à cause d'une stupide erreur de ma part. M'a fallu un certain temps pour le trouver, donc juste au cas où quelqu'un d'autre fait la même erreur et trébuche sur ce fil, voici ce que j'avais fait de mal:
C'est évident, une fois que vous la voyez - j'avais placé le <activité> spécification à l'extérieur de la <> spécification au lieu de l'intérieur.
OriginalL'auteur RenniePet