31 votes

Impossible de résoudre l'erreur de la super-classe lors du référencement de la bibliothèque .jar

  1. J'ai fait un projet Android et je l'exécute. Il a fonctionné avec succès.
  2. J'ai développé un service Web en Java et l'ai hébergé. Il a fonctionné avec succès.
  3. J'ai exporté le service Web dans un fichier .jar et l'ai ajouté à mon projet Android.
  4. Lorsque j'essaie d'appeler une méthode dans le service Web, une erreur Unable to resolve superclass apparaît.

Mon journal d'erreur:

 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;)
 

71voto

rabidgremlin Points 728

Je viens tout juste de commencer à avoir ce problème après la mise à niveau vers ADT 17.

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 correctement avec mes fichiers .jar dans un dossier 'lib' (pas de s).

14voto

Leonardo Pinto Points 160

Dans mon cas, je devais aller à Properties->Java Build Path->Order and Export et vérifier Android Private Libraries , puis nettoyer le projet et bien fonctionner.

4voto

42n4 Points 440

Créez le dossier lib, le dossier libs est destiné aux bibliothèques natives. Je l'ai fait, ajouter une bibliothèque à lib et construire un chemin en tant que bibliothèque interne et ça marche!

2voto

Programmer Bruce Points 16306

Utilisez-vous Eclipse? Si tel est le cas, avez-vous ajouté la bibliothèque au chemin de construction, comme décrit dans Ajout d'une bibliothèque / d'un fichier JAR à un projet Android Eclipse ?

2voto

Sreedevi J Points 172

Je sais que ce post sur un très vieux thread, mais après j'ai lu la réponse de @rabidgremlin, j'ai vérifié la structure du dossier, et constaté qu'il était déjà "libs". Cependant, en voyant la support.jar, j'ai pensé que ce était ce qui causait le problème.

J'ai été en étendant "FragmentActivity" mais il s'avère, qui faisait référence à la support.jar qui a des problèmes en lui-même. Une fois que j'ai enlevé le s'étend de la clause, l'application miraculeusement cessé de s'écraser.

Juste un avis au cas où quelqu'un vient les chercher. Cheers!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X