AndroidStudio匯入httpmime jar編譯不通過的解決辦法
阿新 • • 發佈:2019-01-10
起因:
build.gradle的dependencies加入了
compile 'org.apache.httpcomponents:httpcore:4.3.3'
compile 'org.apache.httpcomponents:httpmime:4.3.6'
Err現象:
在構建時出現以下錯誤log
Information:Gradle tasks [:imagecloud:assembleDebug] Warning:Dependency org.apache.httpcomponents:httpclient:4.3.6 is ignored for debug as it may be conflicting with the internal version provided by Android. In case of problem, please repackage it with jarjar to change the class packages Warning:Dependency org.apache.httpcomponents:httpclient:4.3.6 is ignored for release as it may be conflicting with the internal version provided by Android. In case of problem, please repackage it with jarjar to change the class packages :imagecloud:preBuild :imagecloud:compileDebugNdk UP-TO-DATE :imagecloud:preDebugBuild :imagecloud:checkDebugManifest :imagecloud:preReleaseBuild :imagecloud:prepareComAndroidSupportAppcompatV72103Library UP-TO-DATE :imagecloud:prepareComAndroidSupportSupportV42103Library UP-TO-DATE :imagecloud:prepareDebugDependencies :imagecloud:compileDebugAidl UP-TO-DATE :imagecloud:compileDebugRenderscript UP-TO-DATE :imagecloud:generateDebugBuildConfig UP-TO-DATE :imagecloud:generateDebugAssets UP-TO-DATE :imagecloud:mergeDebugAssets UP-TO-DATE :imagecloud:generateDebugResValues UP-TO-DATE :imagecloud:generateDebugResources UP-TO-DATE :imagecloud:mergeDebugResources UP-TO-DATE :imagecloud:processDebugManifest UP-TO-DATE :imagecloud:processDebugResources UP-TO-DATE :imagecloud:generateDebugSources UP-TO-DATE :imagecloud:compileDebugJava UP-TO-DATE :imagecloud:preDexDebug UP-TO-DATE :imagecloud:dexDebug UP-TO-DATE :imagecloud:processDebugJavaRes UP-TO-DATE :imagecloud:validateDebugSigning :imagecloud:packageDebug Error:duplicate files during packaging of APK E:\workspace\project\android\AndroidStudio\imagecloud\build\outputs\apk\imagecloud-debug-unaligned.apk Path in archive: META-INF/DEPENDENCIES Origin 1: C:\Users\Administrator\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpmime\4.3.6\cf8bacbf0d476c7f2221f861269365b66447f7ec\httpmime-4.3.6.jar Origin 2: C:\Users\Administrator\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpcore\4.3.3\f91b7a4aadc5cf486df6e4634748d7dd7a73f06d\httpcore-4.3.3.jar You can ignore those files in your build.gradle: android { packagingOptions { exclude 'META-INF/DEPENDENCIES' } } Error:Execution failed for task ':imagecloud:packageDebug'. > Duplicate files copied in APK META-INF/DEPENDENCIES File 1: C:\Users\Administrator\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpmime\4.3.6\cf8bacbf0d476c7f2221f861269365b66447f7ec\httpmime-4.3.6.jar File 2: C:\Users\Administrator\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpmime\4.3.6\cf8bacbf0d476c7f2221f861269365b66447f7ec\httpmime-4.3.6.jar Information:BUILD FAILED Information:Total time: 4.954 secs Information:2 errors Information:2 warnings Information:See complete output in console
解決方法:
在build.gradle的android{...}裡面加上
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}