Android 升级ADT到22第三方Jar包导致的ClassNotFoundException和NoClassDefFoundError异常解决

时间:2023-03-09 05:24:42
Android 升级ADT到22第三方Jar包导致的ClassNotFoundException和NoClassDefFoundError异常解决

在使用异步载入框架Android-Universal-Image-Loader的Jar包的时候遇到错误:

java.lang.NoClassDefFoundError:com.nostra13.universalimageloader.core.ImageLoaderConfiguration$Builder后来通过细致的研究发现这个和框架没有关系,这个是因为

你的ADT升级到22出的问题,ADT22比ADT21更加的合理。在adt17的版本号之后。导入第三方jar包,要建立一个libs文件夹,不能使用lib命名,adt会自己主动将jar依赖,不用手动添

加了。

參考链接:http://blog.****.net/huzgd/article/details/7604069

NOTE:假设你自己有Add,你就配置build path,把自己导入的包删除掉

Android 升级ADT到22第三方Jar包导致的ClassNotFoundException和NoClassDefFoundError异常解决

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

分析一下ADT22和ADT21的差别:

ADT21图:

Android 升级ADT到22第三方Jar包导致的ClassNotFoundException和NoClassDefFoundError异常解决

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

ADT22图:

Android 升级ADT到22第三方Jar包导致的ClassNotFoundException和NoClassDefFoundError异常解决

解决步骤:

1.首先处理好上文的问题

2.ADT22须要勾选Android Private Libraries和Android Dependencies,让开发者自己决定哪些包要导出到APK里。比方程序面向的是高版本号的Android系统。能够选择不须要

导出低版本号的某些支持包(比方:V4、v7等等)

Android 升级ADT到22第三方Jar包导致的ClassNotFoundException和NoClassDefFoundError异常解决

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

3.libs里面的Jar包也要注意,因为ADT17之后是自己主动的导入。所以不要把系统有的包放到这个文件夹,能够看控制台(console)是否说有同样的包,假设有就删掉

4.编译一下(project--clean)

说明:可能有些步骤你是不须要的,我这里可能多考虑了一下