Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Duplicate files during packaging of APK app-debug-unaligned.apk

I got this error Duplicate files during packaging of APK app-debug-unaligned.apk when put 2 jar files :

  • httpclient-4.3.5.jar

  • httpmime-4.3.5.jar

    into the libs folder after Sync with Gradle and Run.

If user 1 jar file - httpmime-4.3.5.jar, I will not get this error.

Please help me how to avoid this error & still can use 2 jar files in above also,

Thanks,

p/s : I use Android Studio version 0.8.6.

Error Detail

Error:duplicate files during packaging of APK ...\app\build\outputs\apk\app-debug-unaligned.apk Path in archive: META-INF/DEPENDENCIES Origin 1: ...\app\libs\httpclient-4.3.5.jar Origin 2: ...\app\libs\httpmime-4.3.5.jar

build.gradle

android { compileSdkVersion 20 buildToolsVersion '20.0.0' defaultConfig {     applicationId 'com.app'     minSdkVersion 9     targetSdkVersion 20     versionCode 1     versionName '1.0' } buildTypes {     release {         runProguard false         proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'     } } productFlavors { } packagingOptions {     exclude 'META-INF/LICENSE.txt' }  dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:support-v4:20.0.0' compile 'com.android.support:appcompat-v7:20.0.0' compile 'com.google.android.gms:play-services:5.2.08' compile 'com.viewpagerindicator:library:2.4.1@aar' compile 'de.hdodenhof:circleimageview:1.2.0' compile files('libs/httpmime-4.3.5.jar') } 

UPDATE I changed from compile files('libs/httpmime-4.3.5.jar') to use Maven Link. I got same error again after put 2 maven link together:

    compile 'org.apache.httpcomponents:httpmime:4.4-alpha1' compile 'org.apache.httpcomponents:httpcore:4.4-alpha1' 

This is the warning

Warning:Dependency org.apache.httpcomponents:httpclient:4.4-alpha1 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.4-alpha1 is ignored for release as it may be conflicting with the internal version provided by Android. In case of problem, please repackage it with jar to change the class packages

Please help me fix.

SOULITION I know good answer now by addding these lines will fix Duplicate files error :

packagingOptions {     exclude 'META-INF/DEPENDENCIES.txt'     exclude 'META-INF/LICENSE.txt'     exclude 'META-INF/NOTICE.txt'     exclude 'META-INF/NOTICE'     exclude 'META-INF/LICENSE'     exclude 'META-INF/DEPENDENCIES'     exclude 'META-INF/notice.txt'     exclude 'META-INF/license.txt'     exclude 'META-INF/dependencies.txt'     exclude 'META-INF/LGPL2.1' } 
like image 598
Huy Tower Avatar asked Aug 25 '14 10:08

Huy Tower


1 Answers

You can replace compile files('libs/httpmime-4.3.5.jar') with this compile 'org.apache.httpcomponents:httpmime:4.3.5'.

Also you are duplicating the dependencies compile fileTree(include: ['*.jar'], dir: 'libs') already includes compile files('libs/httpmime-4.3.5.jar')

like image 187
hoomi Avatar answered Oct 04 '22 07:10

hoomi