今天在做android工程引入第三方jar(该jar也是自己开发后导出的,名称为EP.jar)时,运行期间出现java.lang.NoClassDefFoundError异常,参考网上各种方法均没有解决,后来看到一篇文章
受到点启发,明白过来是因为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"/>