解决DefaultHttpClient已过时、第三方类库的jar包内容重复两个问题

解决DefaultHttpClient已过时、第三方类库的jar包内容重复两个问题_第1张图片

两个错误:分别是DefaultHttpClient已过时、和第三方类库的jar包内容重复

 

解决方案1:

由于HttpClient的jar包版本升级,从httpclient 4.2.5版本之后的jar包就不再支持DefaultHttpClient了,所以可以采用如下方法:

方法1(如果你不怕麻烦,可以采用如下方法):

             导入httpclient 4.2.5    

             导入httpcore 4.2.4

方法2:如下图所示,将原来画有横线的那行代码换成箭头所指的代码即可解决问题

解决DefaultHttpClient已过时、第三方类库的jar包内容重复两个问题_第2张图片

【注】:即使这个错误不解决,也不影响生成APK,不信的话查看app-->build-->outputs-->apk

 

解决方案2:

从错误提示中可以看出jar包中META-INF和LICENSE目录下有重复内容加载,打开对应的jar包

解决DefaultHttpClient已过时、第三方类库的jar包内容重复两个问题_第3张图片

可以看到两个jar包都有LICENSE,里面内容也是完全一样,其他的文件似乎也有重复的可能,只是没有报错信息而已

打开app\build.gradle文件 

修改配置如下:

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        //插入下方代码
        packagingOptions {
            exclude 'META-INF/DEPENDENCIES'
            exclude 'META-INF/NOTICE'
            exclude 'META-INF/LICENSE'
            exclude 'META-INF/LICENSE.txt'
            exclude 'META-INF/NOTICE.txt'
            exclude 'META-INF/ASL2.0'
            exclude 'META-INF/notice.txt'
        }
    }

最后Rebuild Project

转载于:https://my.oschina.net/u/3724795/blog/1570658

你可能感兴趣的:(解决DefaultHttpClient已过时、第三方类库的jar包内容重复两个问题)