【小功能3】android引用jar时会报错找不到第3方的类java.lang.NoClassDefFoundError

简介:

 

     今天在弄一个程序的时候,需要引入第三方的一个jar包,但是在运行的时候找不到第3方的类java.lang.NoClassDefFoundError。但是编译完全没有任何问题,APK文件可以生产,但是运行时报错。

   解决方法把需要的jar包放入src目录中,然后再Library中右键Build Path->Config  Build Paht->add external jars ,这里选择的jar为咱们刚刚放入的src中的jar包,然后OK再运行就没有问题。

主要分析了一下原因(不是很对),我们在生成apk程序的时候,一般会把资源文件res及类文件classes.dex(类文件打包了),还有主配置文件等包含进入,但是并不包含包含android.jar之类的系统jar包,我们在eclispe中建立android工程需要这个android.jar是因为我们的程序需要android中提供的相关类,但是在apk运行在手机里时已经有这个环境了,同时源码中已经包含了所有的类,源码编译时都会提供的。所以我们在引用外部jar的时候在eclipse中编译他通过路径可以找到里面相关的类,但是一运行在手机上他就会找不到,不知道分析的对不对。语言表达能力不行。

 

    我在网上找了一下相关资料,貌似有用的不是狠多,但是有一位说他也解决了,但是我没试他的方法,我按照我自己的方式解决了就好了。

下面是他的方法。

     有些android项目要引入第三方jar包,当你配置好后,项目没有报什么错误,但是当运行了之后,总是会报找不到类即java.lang.noclassdeffounderror的错误,今天在写一个项目的时候再次遇到了,盘弄了很久之后终于解决了,给大家参考一下,按照下面四个步骤引入jar包即可:

       1、在Android项目根目录下新建一个lib文件夹,右键;

       2、在libs目录上点右键,选Bulid path  –> Use as source folder;     

       3、把你需要的导入的第三方Jar包复制进这个目录;

       4、选中这个Jar包,右键->Build Path->Add to Build Path。

       按照这四个步骤引入第三方jar包,以上说明的错误即可解决。










本文转自 646676684 51CTO博客,原文链接:http://blog.51cto.com/2402766/1089587,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
176 57
|
1月前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
104 34
|
1月前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
2月前
|
安全 Java 测试技术
🎉Java零基础:全面解析枚举的强大功能
【10月更文挑战第19天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
132 60
|
2月前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
81 8
|
2月前
|
存储 安全 Java
java.util的Collections类
Collections 类位于 java.util 包下,提供了许多有用的对象和方法,来简化java中集合的创建、处理和多线程管理。掌握此类将非常有助于提升开发效率和维护代码的简洁性,同时对于程序的稳定性和安全性有大有帮助。
93 17
|
2月前
|
Java
Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式
Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式。本文介绍了 Streams 的基本概念和使用方法,包括创建 Streams、中间操作和终端操作,并通过多个案例详细解析了过滤、映射、归并、排序、分组和并行处理等操作,帮助读者更好地理解和掌握这一重要特性。
47 2
|
2月前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
2月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
149 4
|
2月前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
99 2

热门文章

最新文章