今天遇到一个问题呐~接入某sdk之后在8.0的机子上可以正常跑起来,但是在4.4.2的机子上却报错了
仔细看了一下报错发现格式是类似
W/dalvikvm( 4427): Class resolved by unexpected DEX:
看起来应该是调用的方法有多个同名的存在,所以就查了一下
https://blog.youkuaiyun.com/u010037124/article/details/38469883
看完确实如此之后,肉眼看了一下jar包觉得没道理啊...因为怎么都不觉得有相同的
然后就想起了报错的jar包本来是runtime的,然而被我放在libs里面
拉出来放在runtime之后也没有变化,这个纠结的时候
https://blog.youkuaiyun.com/JeterPong/article/details/53179269
我看到了这个,然后修改了引用jar包的方式,然后就搞定了
原来runtime这个文件夹下面的jar包只是为了保证编译能通过而已,编译通过后runtime里面的内容不会编入apk里面,所以如果不用Provided 方式(在eclipse里面是放在runtime文件夹)的话会导致和so包里面读取出来的方法重名而无法正常使用
博主接入某SDK后,在8.0机子上正常,4.4.2机子报错。经查看报错信息,怀疑方法同名。排查jar包,将runtime的jar包调整位置无果。后修改引用jar包方式解决问题,原来runtime的jar包编译后不编入apk,不用Provided方式会导致方法重名。
918

被折叠的 条评论
为什么被折叠?



