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 afterSync with Gradle
andRun
.
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'
}
compile files('libs/httpmime-4.3.5.jar')
with thiscompile 'org.apache.httpcomponents:httpmime:4.3.5'
. What version of Android studio are you using? What Version of gradle are you using? – Narcomacompile fileTree(include: ['*.jar'], dir: 'libs')
already includescompile files('libs/httpmime-4.3.5.jar')
– Narcomacompile files('libs/httpmime-4.3.5.jar')
right? Anyway, if I used your maven link. It is okay now. Thanks you – Oilbirdexclude 'META-INF/DEPENDENCIES'
will fix your dependencies problem. It will make the warning go away because you exclude the info from the JAR's meta info, but it won't solve your problem. To me, this looks like covering the oil lamp on you car's dashboard when it comes on, so it doesn't bother you anymore. – Homologizecompile('com.foo:foo-v4:20.0.0') { exclude module: 'fuu' }
. You will need to look at your libraries... – Homologize