场景一:A.jar和B.jar两个文件(非原生),其中B.jar是依赖A.jar生成。B.jar生成后将其导入android工程内(不进行A.jar导入),操作B.jar中的私有接口正常运行,但操作A.jar实现接口时会报NoClassDefFoundError异常;A.jar同B.jar一并导入工程异常消失。
场景二:B.jar依赖apache HttpClient.jar包生成时,仅将B.jar导入工程时,调用HttpClient.jar内接口不会出现NoClassDefFoundError异常。
不知场景一、二的区别是什么?
场景一中因为B依赖A,当导入B不导入A时,操作A的实现接口肯定是报错的,找不到类;
场景二中未出现异常的原因可能是项目中已经导入的jar包包含HttpClient.jar的内容(比如android.jar就包含HttpClient相关的内容),所以未出现异常
场景一中因为B依赖A,当导入B不导入A时,操作A的实现接口肯定是报错的,找不到类,
场景二因为在android.support里面就支持了HttpClient,使用HttpClient也是android官方推荐的,已经包含了,所以不需要导jar。