分享:Android Studio 导入第三方jar包,重复加载错误解决办法。

最近在使用Http时需要实现文件上传,虽然可以使用HttpURLConnection 实现原生post上传,不过这个好像效率很低,然后就选择网上比较多的HttpClient 通过HttpPost的方式上传文件,使用这种方式的时候需要用到apache的一个jar包,httpmime-xxx.jar 这个包还依赖于httpcore-xxx.jar,在正常的导入两个jar包后,满心欢喜的准备变异,可是一个蛋疼的错误蹦出来了:

Error:duplicate files during packaging of APK D:DevelopAndroidworkspaceandroidstudioMLTimeLineappuildoutputsapkapp-debug-unaligned.apk
     Path in archive: META-INF/NOTICE
     Origin 1: D:DevelopAndroidworkspaceandroidstudioMLTimeLineapplibshttpcore-4.3.jar
     Origin 2: D:DevelopAndroidworkspaceandroidstudioMLTimeLineapplibshttpmime-4.3.1.jar
You can ignore those files in your build.gradle:
     android {
       packagingOptions {
         exclude 'META-INF/DEPENDENCIES'
         exclude 'META-INF/NOTICE'
         exclude 'META-INF/LICENSE'
       }
     }
Error:Execution failed for task ':app:packageDebug'.
> Duplicate files copied in APK META-INF/NOTICE
     File 1: D:DevelopAndroidworkspaceandroidstudioMLTimeLineapplibshttpcore-4.3.jar
     File 2: D:DevelopAndroidworkspaceandroidstudioMLTimeLineapplibshttpcore-4.3.jar

看字面意思就是说jar加载重复了,然后就是需要在项目的便衣文件中加入一些东西,既然能理解,就按照它提示的来嘛,
打开项目的build.gradle文件,在android标签下加入提示的部分,

然后同步gradle:在修改了gradle编译文件后 Androidstudio右上角会有提示同步gradle的按钮,可以直接点击同步gradle配置,如果没有可以选择菜单栏里的:Tools – Android – Sync Project with Gradle Files 进行同步
同步完成,继续编译,duang~~
还是那个错误,不过这次提示加入的内容不同,继续在packagingOptions 下边添加,继续同步编译,duang~~
继续~~ duang duang duang ~~
ok duang了三次之后算是没问题了,在编译配置文件中加入的就是这几行代码

// 解决重复加载第三方那个jar包问题
packagingOptions {
     exclude 'META-INF/DEPENDENCIES'
     exclude 'META-INF/NOTICE'
     exclude 'META-INF/LICENSE'
}

感觉这个也是根据添加的jar包不同而有所不同的;不过只要跟着提示应该都可以解决的!

原文地址:https://www.cnblogs.com/ablansetaimeng/p/4954027.html