android中java.lang.NoClassDefFoundError异常的解决方法之一

来源:互联网 发布:java.util.locale详解 编辑:程序博客网 时间:2024/05/21 21:43

今天在做android工程引入第三方jar(该jar也是自己开发后导出的,名称为EP.jar)时,运行期间出现java.lang.NoClassDefFoundError异常,参考网上各种方法均没有解决,后来看到一篇文章

file:///C:/Users/huanggz/Desktop/java.lang.NoClassDefFoundError/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3Java.lang.NoClassDefFoundError--%E7%AC%AC%E4%B8%80%E9%83%A8%E5%88%86%20-%20%E8%94%9A%E8%93%9D%20-%20ITeye%E6%8A%80%E6%9C%AF%E7%BD%91%E7%AB%99.htm


受到点启发,明白过来是因为EP.jar类中实现了IEP接口,而我没有把IEP接口文件添加到引用的android工程中,所以就出现了该异常。总结一点就是:所有jar中需要用到的类都需要打包到jar中。


今天引用jar时还出现了另外一个问题,jar开发工程需要读写SD卡数据,但是导出后,在引用jar的工程中怎么都读写不对,后来才发现是因为引用jar的工程中缺少读写SD卡权限的声明,添加后问题就解决了

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>