Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)及UNEXPECTED TOP-LEVEL EXCEPTION

1、在工程下新建lib文件夹,将需要的第三方包拷贝进来。
2、将引用的第三方包,添加进工作的build path。
3、(关键的一步)将lib设为源文件夹。

在/libs 文件夹上右键--Build Path--Use as Source Folder

如果不设置,则程序编译可以通过,但运行的时候,会报:

     java.lang.NoClassDefFoundError

 

若出现如下问题取消之后再重新编译。。。。

类似如下问题:
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lxzy/android/agraphics/animation/AAnimator$1;
[2012-05-14 12:21:44 - QuickFinance] Dx     at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)

原因:
把libs弄成了Source Folder.导致里面的类被重复编译?

解决办法:
在/libs 文件夹上右键--Build Path--Use as Source Folder
而把工程转移另外一台电脑时,又导入了一遍jar 包,于是出现了类似楼主的异常提示
这样,现在这台电脑上的工程,找到/libs 文件夹,右键--Build Path--Remove from Build Path
再次编译工程,问题解决!!!

疑问:为什么有的 jar要source folder有的不需要?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值