Unable to resolve superclass error when referencing .jar library

sakthi picture sakthi · May 29, 2011 · Viewed 36.3k times · Source
  1. I did an Android project and run it. It ran successfully.
  2. I developed a web service in Java and hosted it. It ran successfully.
  3. I exported the webservice into a .jar and added it to my Android project.
  4. When I try to call a method in the web service I get an Unable to resolve superclass error.

My error log:

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

Answer

rabidgremlin picture rabidgremlin · Mar 22, 2012

Just started to get this issue after upgrading to ADT 17.

Discovered that external .jar files need to be in a 'libs' (with an s) folder otherwise their classes are not included in the .dex file that is created. Before the upgrade everything worked fine with my .jar files in a 'lib' folder (no s).