【小功能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 API 开发工具
【Azure Developer】Java代码实现获取Azure 资源的指标数据却报错 "invalid time interval input"
在使用 Java 调用虚拟机 API 获取指标数据时,因本地时区设置非 UTC,导致时间格式解析错误。解决方法是在代码中手动指定时区为 UTC,使用 `ZoneOffset.ofHours(0)` 并结合 `withOffsetSameInstant` 方法进行时区转换,从而避免因时区差异引发的时间格式问题。
205 3
|
2月前
|
安全 Java 数据建模
Java记录类:简化数据载体的新选择
Java记录类:简化数据载体的新选择
237 101
|
2月前
|
安全 Java 开发者
Java记录类:简化数据载体的新方式
Java记录类:简化数据载体的新方式
289 100
|
1月前
|
JSON Java 数据格式
java调用服务报错400
java调用服务报错400
81 6
java调用服务报错400
|
1月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
95 4
|
1月前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
166 5
|
1月前
|
JSON Java 数据格式
java调用服务报错415 Content type ‘application/octet-stream‘ not supported
java调用服务报错415 Content type ‘application/octet-stream‘ not supported
175 6
|
1月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
153 1
|
1月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
213 1