Unable to resolve superclass
Erreur.Mon journal des erreurs:
Unable to resolve superclass of Lweb/service/RandomWordGeneratorService; (73)
Link of class 'Lweb/service/RandomWordGeneratorService;' failed
Could not find class 'web.service.RandomWordGeneratorService',
referenced from method tam.miru.Login$1.onClick
VFY: unable to resolve new-instance 110 Lweb/service/RandomWordGeneratorService;)
in Ltam/miru/Login$1;
VFY: replacing opcode 0x22 at 0x005a
VFY: dead code 0x005c-006e in Ltam/miru/Login$1;.onClick (Landroid/view/View;)
Je viens de commencer à obtenir ce problème après la mise à niveau vers ADT 17.
Nous avons découvert que les fichiers .jar externes doivent se trouver dans un dossier "libs" (avec un s), sinon leurs classes ne sont pas incluses dans le fichier .dex créé. Avant la mise à niveau, tout fonctionnait bien avec mes fichiers .jar dans un dossier 'lib' (pas de s).
Dans mon cas, je devais aller à Properties->Java Build Path->Order and Export
et vérifie Android Private Libraries
, puis a nettoyé le projet et a bien fonctionné.
Créer un dossier lib, le dossier libs est destiné aux bibliothèques natives. Je l'ai fait, j'ajoute la bibliothèque à lib et je crée le chemin comme bibliothèque interne et ça marche!
Utilisez-vous Eclipse? Dans l'affirmative, avez-vous ajouté la bibliothèque au chemin de génération comme décrit dans Ajout d'une bibliothèque/JAR à un Eclipse Android ?
Je sais que c'est un post sur un fil vraiment ancien, mais après avoir lu la réponse de @rabidgremlin, j'ai vérifié la structure du dossier et j'ai trouvé qu'elle était déjà dans "libs". Cependant, en voyant le support.jar, je me suis dit que l'utilisation de cela était la cause du problème.
J'étendais "FragmentActivity" mais il s'avère que cela faisait référence au support.jar, qui avait lui-même des problèmes. Une fois que j'ai supprimé la clause extend, l'application a miraculeusement cessé de planter.
Juste un FYI au cas où quelqu'un viendrait à la recherche. À votre santé!
J'ai eu le même message d'erreur. Il m'a fallu un certain temps pour comprendre le problème: Android nécessite Java 1.6 pour fonctionner. Et la superclasse de mon activité a implémenté une interface à partir d'un Java projet qui avait Java 1.7 comme compilateur. Cela suffisait pour que le constructeur dex ne puisse pas lier la superclasse et cela a abouti à l'exception de classe non trouvée.
J'ai eu le même problème, j'ai essayé de marquer les Android bibliothèques privées sous commande et exportation et cela n'a pas fonctionné pour moi. Ensuite, j'ai remarqué que mon dossier libs n'était pas référencé sous le = Java Build Path. Je l'ai donc ajouté aux bibliothèques et cela a fonctionné.