Android小知识——关于引入第三方jar包引发的java.lang.NoClassDefFoun
2016-05-30 11:51
525 查看
在我们引入第三方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,差异还是很明显的!
针对这个问题,以下两种方案可以解决问题,但建议选取第二种,因为第一种会很大程度上的增大包大小:
第一种方案:
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,差异还是很明显的!
相关文章推荐
- 如何优雅地处理前端异常?
- C#异常处理详解
- 轻松学习C#的异常处理
- PHP异常处理Exception类
- JS异常处理的一个想法(sofish)
- PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
- PHP如何抛出异常处理错误
- PHP中的错误处理、异常处理机制分析
- js中的异常处理try...catch使用介绍
- php5编程中的异常处理详细方法介绍
- php异常处理使用示例
- Asp.net Mvc 身份验证、异常处理、权限验证(拦截器)实现代码
- javascript 异常处理使用总结
- java多线程中的异常处理机制简析
- 深入理解Java编程中异常处理的优劣
- 分享一个php 的异常处理程序
- 简单了解Java编程中对异常处理的运用
- 深入剖析Java中的各种异常处理方式
- JS中的异常处理方法分享
- 一些.NET对多线程异常处理技巧分享