Android – 无法解析超类

我已经挖出了几年前我正在研究的一个旧的android项目并将其加载到一个新的eclipse安装(最新的ADT等)中。

该项目所有编译好(经过一些小调整),应用程序启动正常,但是,当我按下按钮启动主要活动时,我得到以下堆栈跟踪:

FATAL EXCEPTION: main java.lang.NoClassDefFoundError: com.tmm.android.activities.GameActivity at com.tmm.android.activities.StartActivity.onClick(StartActivity.java:53) at android.view.View.performClick(View.java:2408) 

现在有问题的类(GameActivity)是我应用程序中的一个类,所以我知道这不是问题 – 但我注意到logcat顶部有一个警告:

 Unable to resolve superclass of Lcom/tmm/android/activities/GameActivity; (33) Link of class 'Lcom/tmm/android/activities/GameActivity;' failed 

我的类GameActivity扩展了另一个类,它是我在项目中包含的第三方jar的一部分(包含在’libs’目录中,并将其添加到eclipse中的项目构建路径中)。

任何人都可以告诉我可能做错了什么,或者我可能需要考虑的ADT / etc中发生了哪些变化(当我上次在Eclipse中使用它时工作正常)

干杯

我有同样的问题。 我有一个自定义的View类,它在导入的库中调用方法。 当应用程序尝试创建我的视图时(在尝试对引用该自定义视图的布局进行充气时),我也得到了“无法解析超类”错误。

我解决了我的问题,我玩了一下,以确定我认为最终的答案。

(截至撰写时,我正在使用Eclipse Android Tools R21)。

如果你使用外部jar子

  • 将其复制到项目的“libs”文件夹中。 Android Tools应该完成其余的工作。

如果要使用的库是工作区中的单独项目。

  • 在您的库项目中:进入Properties-> Android并选中“Is Library”checkbox。
  • 在您的应用程序项目中:转到Properties-> Android并在同一部分添加库项目(单击“Add ..”)。 不要在这里查看“Is Library”!

这个问题的一些答案说你需要转到Properties-> Java Build Path-> Projects并在那里添加库项目。 对于普通的Java项目,您可以这样做,但Android工具似乎不需要或使用它。

最后,您可能希望确保导出的应用程序中包含lib

  • 转到属性 – > Java构建路径 – >订单和导出,并确保已选中库。

好的,到底是个简单的问题..

将第三方库添加到构建路径后,导出选项卡未默认导出jar(eclipse正常行为) – 因此jar不包含在部署中。

过了那个问题好吧..

我有同样的问题,我试图检查订单和导出下的Android私有库,它不适合我。 那么我注意到我的libs文件夹没有在Java Build Path下引用,我只是将它添加到Libraries中,就是这样……