Unable to resolve superclass
错误。我的错误日志:
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;)
答案 0 :(得分:71)
升级到ADT 17后刚刚开始解决此问题。
发现外部.jar文件需要位于'libs'(带有s)文件夹中,否则它们的类不包含在创建的.dex文件中。在升级之前,我的.jar文件在'lib'文件夹(没有s)中一切正常。
答案 1 :(得分:14)
在我的情况下,我必须转到Properties->Java Build Path->Order and Export
并检查Android Private Libraries
,然后清理项目并正常工作。
答案 2 :(得分:4)
创建lib文件夹,libs文件夹用于本机库。我做了它,将库添加到lib并将路径构建为内部库,它可以工作!
答案 3 :(得分:2)
答案 4 :(得分:2)
我知道这是一个非常老的帖子上的帖子,但在我读完@rabidgremlin的答案后,我检查了文件夹结构,发现它已经在“libs”中。但是,在看到support.jar时,我认为使用它是导致问题的原因。
我正在扩展“FragmentActivity”但事实证明,这是引用了support.jar,它本身就存在问题。一旦我删除了extends子句,该应用程序奇迹般地停止了崩溃。
只是一个FYI以防有人来看。干杯!
答案 5 :(得分:1)
我遇到了同样的问题,我试图在订单和导出下标记Android私有库,但它对我不起作用。然后我注意到我的libs文件夹没有在Java Build Path下引用。所以我把它添加到了图书馆并且它有效。
答案 6 :(得分:-1)
我在Eclipse上遇到了这个错误的另一个原因。我正在尝试将eclipse工作区放入google驱动器目录,并发现无法从Android活动中解析某些超类。
暂停谷歌硬盘,一切都开始正常。在我的例子中,不加载的超类来自协议缓冲区生成的类。这个类和我测试过的所有其他类在非android java程序中运行良好,即使在谷歌驱动器运行时也是如此。