我有一个相当大的Android应用程序项目,它引用了几个库项目。一切都很好,直到我将eclipse ADT插件升级到最新版本(v22)。当然,我也升级了SDK。我在eclipse中没有看到任何编译错误,但当我在电话上运行项目时,我得到了一个NoClassDefFoundError。

java.lang.NoClassDefFoundError: org.acra.ACRA
....

arca库包含在一个引用库项目中(在libs文件夹中),我可以在包资源管理器中的“Android Private Libraries”中看到它,也如我所说,没有编译错误。该项目在没有升级ADT的其他所有计算机上运行良好。

我已经尝试了一大堆东西,包括但不限于:

重新安装android SDK 下载一个新的ADT包 删除我所有的代码,再从git中得到它 将库复制到应用程序项目中 注释掉使用这个库的代码-我只是得到了下一个库相同的错误

一切都没有成功,所以我真的很绝望。

如果有人能给我一个如何解决这个问题的提示,我将非常高兴。


当前回答

我也遇到过类似的问题,我的答案与CommonsWare的略有不同。这是我的截图:

检查后,在我的构建重新开始工作。

其他回答

简单地检查Android私有库是不够的,我还必须在Android SDK管理器中安装Android SDK构建工具。

引用他的广告开发帖子《Streets of Boston》:

升级时,新的“Android Private”的“Order and Export” Libraries并不总是被检查。android-support-v4.jar现在已经发布了 这个“Android私有库”部分。 要解决这个问题,请转到“订购和导出”,并选中“Android Private” 库”。然后刷新/清洁/重建。 当你完成了对图书馆项目的“修复”后,你可能需要关闭 并重新打开任何依赖的项目,因为他们可能看不到这个“修复” 立即。

试一试,如果幸运的话,它会解决你的问题。

我也有同样的问题,

I)添加gson lib作为参考库 ii)在java Build Path中检查它

我也遇到过类似的问题,花了大约3个小时,但这里提出的决定都没有帮助…最后我找到了问题的根源:我的项目文件&项目。属性是只读的。当我在GUI中这样做时,Eclipse只是无声地忽略库依赖关系中的任何更改!

我也有同样的问题。是因为日食项目。 为了解决这个问题,我在eclipse中创建了一个新项目,复制我现有的项目类和资源,然后再次启动eclipse并添加我的自定义包含。