Android小知识——关于引入第三方jar包引发的java.lang.NoClassDefFoun

转载 2016年05月30日 11:51:04

在我们引入第三方jar包的时候,有时候编译不报错,但运行会报java.lang.NoClassDefFoundError;

针对这个问题,以下两种方案可以解决问题,但建议选取第二种,因为第一种会很大程度上的增大包大小:


第一种方案:

1、将需要的第三方包拷贝进libs 文件夹。
2、将引用的第三方包,添加进工作的build path -->工程上右键 -->Properties -->Java Build Path -->Libraries -->add jars -->添加进对应jar包
3、(关键的一步)将lib设为源文件夹。---libs文件夹右键-->build path -->Use as Source Folder

此时应该就可以编译运行了,可以看下对应包大小是不是增大不少(预计是增加jar包2倍大小);


第二种方案:

鼠标右键项目,然后属性(Properties),然后java build path 然后order and export 使android private librars处于勾选状态,让你的jar包也处于勾选状态

此时编译运行应该也ok,此时包大小增加在可接受范围;


个人实例:

本来大小 600k,合入一个三方jar

第一种方式eclipse编完2.4M,第二种方式eclipse编完1.1M,差异还是很明显的!


相关文章推荐

android studio preview java.lang.noclassdeffounderror

闲话不多说,直接说bug。 我的bug是由于引用了百度地图api引起的。当我按照百度地图的官方文档将jar包和so文件正确添加到项目中之后,先后出现了以下两个bug: 1:java.lang.un...

Android Studio 上导入第三方库后出现java.lang.NoClassDefFoundError错误

在Android Studio 上导入第三方类库的方式如下: 0.3.7以下版本: 1.将jar包拷贝到libs目录下; 2. 选中这个jar包,右键添加做工程库 理论上这样就...

android运行时,出现java.lang.NoClassDefFoundError

这个一般是在将dex分成多个文件时会出现这个错误。  java.lang.NoClassDefFoundError: ××××××× 这是因为你的这个类没有打包进 main d...

Android Studio异常:Manifest merger failed with multip/Unable to start the daemon process

Manifest merger failed with multip/Unable to start the daemon process/app:transformClassesWithJarMer...

android studio 中 java.lang.NoClassDefFoundError:retrofit2.Retrofit$Builder错误解决

此问题在android5.0以下不会出现,在android4.0会出现。

Android 出现java.lang.NoClassDefFoundError错误的一种解决方案

前几天,在重构一个Android项目的时候,加入了RXJava,RxAndroid,Retrofit来支持响应式开发,并重构代码,重构一切顺利但是在运行中却出现了Java.lang.NoClassDe...

Android Studio 上导入第三方库后出现java.lang.NoClassDefFoundError错误

在Android Studio 上导入第三方类库的方式如下: 1.将jar包拷贝到libs目录下; 2. 选中这个jar包,右键添加做工程库 理论上这样就Ok了,但是编译成功后,运行出现java.la...

Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)

1、在工程下新建lib文件夹,将需要的第三方包拷贝进来。 2、将引用的第三方包,添加进工作的build path。 3、(关键的一步)将lib设为源文件夹。如果不设置,则程序编译可以通过,但运行的...
  • sxhong
  • sxhong
  • 2013-06-23 00:33
  • 1026

Android 出现java.lang.NoClassDefFoundError错误的一种解决方案

前几天,在重构一个Android项目的时候,加入了RXJava,RxAndroid,Retrofit来支持响应式开发,并重构代码,重构一切顺利但是在运行中却出现了java.lang.NoClassDe...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)