分享: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:\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包不同而有所不同的;不過只要跟着提示應該都可以解決的!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM