关于AS与eclipse Runtime文件夹使用的区别

今天遇到一个问题呐~接入某sdk之后在8.0的机子上可以正常跑起来,但是在4.4.2的机子上却报错了

仔细看了一下报错发现格式是类似

W/dalvikvm( 4427): Class resolved by unexpected DEX:

看起来应该是调用的方法有多个同名的存在,所以就查了一下

https://blog.csdn.net/u010037124/article/details/38469883

看完确实如此之后,肉眼看了一下jar包觉得没道理啊...因为怎么都不觉得有相同的

然后就想起了报错的jar包本来是runtime的,然而被我放在libs里面

拉出来放在runtime之后也没有变化,这个纠结的时候

https://blog.csdn.net/JeterPong/article/details/53179269

我看到了这个,然后修改了引用jar包的方式,然后就搞定了

原来runtime这个文件夹下面的jar包只是为了保证编译能通过而已,编译通过后runtime里面的内容不会编入apk里面,所以如果不用Provided 方式(在eclipse里面是放在runtime文件夹)的话会导致和so包里面读取出来的方法重名而无法正常使用