Android之关于json导包报错提示冲突的问题Program type already present(已解决)

1、遇到问题:导包后eclipse正常运行,Android studio报错

前几天在做一个项目,客户端要接受从服务器发过来的数据,服务器的小伙伴发给我的json格式的数据,我习惯在eclipse把小模块先测试一下再写进Android studio中去,关于接收并遍历json数据这块在eclipse上能够通过导包以完成相应的操作。

导入了以下包:

commons-beanutils-1.8.0.jar

commons-collections-3.2.1.jar

commons-lang-2.5.jar

commons-logging-1.1.1.jar

ezmorph-1.0.6.jar

json-lib-2.4-jdk15.jar

当然还有  import net.sf.json.JSONObject;

但是当复制进Android studio的时候,IDE就开始报错,如下:

 

Android之关于json导包报错提示冲突的问题Program type already present(已解决)

这个错误的意思是,这个包中的一些文件和其他的包中的冲突了。可以发现是commons-beanutils-1.8.0.jar包中有和commons-collections-3.2.1.jar冲突的类。

2、解决方法:

(1)在Android自带的Library中导入需要的包(想到这种解决办法是在想Android官方自带的包应该不会有冲突的)

关于导包的方法,这里贴个链接:Androidstudio中添加jar包的方法   用方法一搜索commons-beanutils:commons-beanutils:20030211.134440和commons-collections:commons-collections:20040616即可(数字部分没必要完全一样)

(2)简单粗暴的删除掉那个多余的类。

直接把commons-beanutils-1.8.0.jar解压,然后把解压文件下的org/apache/commons/collections目录和目录下的class直接删掉。但是!删是好删,再压缩成jar包,就不会了,查了好多资料都没搞清楚,所以最后就采用了方法(1)

 

以上。