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

2015/11/10 16:53
阅读数 383

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

Error:duplicate files during packaging of APK D:\Develop\Android\workspace\androidstudio\MLTimeLine\app\build\outputs\apk\app-debug-unaligned.apk Path in archive: META-INF/NOTICE Origin 1: D:\Develop\Android\workspace\androidstudio\MLTimeLine\app\libs\httpcore-4.3.jar Origin 2: D:\Develop\Android\workspace\androidstudio\MLTimeLine\app\libs\httpmime-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:\Develop\Android\workspace\androidstudio\MLTimeLine\app\libs\httpcore-4.3.jar File 2: D:\Develop\Android\workspace\androidstudio\MLTimeLine\app\libs\httpcore-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包不同而有所不同的;不过只要跟着提示应该都可以解决的!

展开阅读全文
打赏
0
3 收藏
分享
加载中
太好了,我就遇到这个问题了…
2015/11/10 17:45
回复
举报
更多评论
打赏
1 评论
3 收藏
0
分享
返回顶部
顶部