升级到ADT 22后,库不再被添加到APK

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

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

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

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

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

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

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

71434 次浏览

引用他的广告开发职位中的Streets of Boston:

升级时,新的“Android Private”的“Order and Export” Libraries并不总是被检查。android-support-v4.jar现在已经发布了 这个“Android私有库”部分。< / p > 要解决这个问题,请转到“订单和导出”,并检查“Android Private” 库”。然后刷新/清洁/重建。< / p >

当你为一个图书馆项目做了这个“修复”之后,你可能只需要关闭 并重新打开任何依赖的项目,因为他们可能看不到这个“修复” 立即。< / p >

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

enter image description here

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

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

enter image description here

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

我也有同样的问题,我的adt22.0.1。上面的解决方案都不奏效。当将外部库项目添加到工作项目时。我总是检查工作项目的gen文件夹,如果外部库项目的R在那里(以及包名),那么只有外部库项目被导出。在我的gen文件夹上没有显示外部库的packagename

所以我检查了project.properties文件,没有任何外部库链接呈现android.library.reference.1=呈现。所以我手动在那里添加了外部库引用,尽管我是从project->properties->Java Build Path->Projects->Add添加的。所以手动编辑project.properties为我做了所有的工作。

enter image description here

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

我也有同样的问题,

i)添加gson lib作为参考库
ii)在java Build Path中检查它 http://i.stack.imgur.com/Gldhs.png

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