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就开始报错,如下:

 

这个错误的意思是,这个包中的一些文件和其他的包中的冲突了。可以发现是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)

 

以上。

已标记关键词 清除标记
根据网上的搜索信息改成了27.1.1,但问题还没有解决,请问该怎么做? ``` apply plugin: 'com.android.application' buildscript { repositories { mavenCentral() jcenter() google() } dependencies { classpath 'com.android.tools.build:gradle:3.1.3' } allprojects { repositories { jcenter() } } } dependencies { implementation fileTree(include: '*.jar', dir: 'libs') // implementation project(':appcompat_v7') // implementation project(':recyclerview') implementation 'com.android.support:appcompat-v7:27.1.1' implementation project(':recyclerview') debugCompile 'me.ele:uetool:1.0.15' releaseCompile 'me.ele:uetool-no-op:1.0.15' // if you want to show more attrs about Fresco's DraweeView debugCompile 'me.ele:uetool-fresco:1.0.15' // // configurations { // all*.exclude group: 'com.android.support', module: 'support-v13' // } } android { compileSdkVersion 26 buildToolsVersion '26.0.2 ' useLibrary 'org.apache.http.legacy' compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false lintOptions { abortOnError false } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] jniLibs.srcDirs = ['jniLibs']; } androidTest .setRoot('tests') // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similar customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') } } repositories { google() } ```
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页