我已经挖出了几年前我正在处理的旧的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 /等中发生了什么变化(当我上次在Eclipse中使用它时工作正常)
干杯
答案 0 :(得分:29)
我遇到了同样的问题。我有一个自定义的View类,它在导入的库中调用方法。 当应用程序尝试创建我的视图时(在尝试对引用该自定义视图的布局进行充气时),我也收到了“无法解析超类”错误。
我解决了我的问题,我玩了一下,以确定我认为最终的答案。
(在写作时,我正在使用Eclipse Android Tools R21)。
如果您使用的是外部广告
如果您要使用的库是工作区中的单独项目。
这个问题的一些答案说你需要转到Properties-> Java Build Path-> Projects并在那里添加库项目。对于普通的Java项目,您可以这样做,但Android工具似乎不需要或不使用它。
最后,您可能希望确保导出的应用中包含lib
答案 1 :(得分:10)
好的,到底是个简单的问题..
将第三方库添加到构建路径后,导出选项卡未默认导出jar(eclipse正常行为) - 因此jar没有包含在部署中..
过了那个问题好了..
答案 2 :(得分:0)
我遇到了同样的问题,我尝试检查订单和导出下的Android私有库,但它对我不起作用。那么我注意到我的libs文件夹没有在Java Build Path下引用,我只是将它添加到Libraries中,就是它......