修复NoClassDefFoundError的方法?

DJC*_*DJC 7 java eclipse android gdata-api noclassdeffounderror

可能重复:
NoClassDefFoundError - Eclipse和Android

我看到这个问题在许多不同的背景下被问到很多.也许我们可以设定一些定位和修复策略?我自欺欺人,所以我能贡献的都是恐怖故事和问题,对不起......

当一个类在编译时可见但在运行时不可见时,它似乎被抛出......这怎么可能发生?

就我而言,我正在开发一个应用程序,该应用程序在Eclipse中使用Google API,用于Android平台.我已经配置了Project Properties/Java Build Path/Libraries来包含gdata .jars,一切都很好.当我在模拟器中执行时,我得到一个强制关闭,logcat在一个简单的新ContactsService("myApp")上显示NoClassDefFoundError; 我也尝试了一个具有相同结果的新CalendarService("myApp").

是否可能或希望在编译时静态绑定以避免问题?

无论如何,附加库的动态绑定如何在移动环境中工作?要么必须绑定到我的.apk,要么我需要"安装"它?......嗯.

建议非常感谢.

Com*_*are 9

当一个类在编译时可见但在运行时不可见时,它似乎被抛出......这怎么可能发生?

构建类路径可能包含未打包到APK中的JAR.

是否可能或希望在编译时静态绑定以避免问题?

这是可能的,可取的和必要的.

在Eclipse之外,您只需将所需的JAR放入libs/项目中,使用Ant进行编译,就可以了.

在Eclipse内部,我让学生成功使用的一种模式是将您需要的JAR放入libs/项目中,将它们作为JAR添加到构建路径中(注意:不是外部JAR),并将它们打包为APK的一部分.但请注意,我个人并不使用Eclipse,因此我的使用经验有限.