org - libreria httpclient android studio
Archivos duplicados durante el empaquetado de la aplicaciĆ³n APK-debug-unaligned.apk (5)
Recibí este error Duplicate files during packaging of APK app-debug-unaligned.apk
cuando pongo 2 archivos jar:
httpclient-4.3.5.jar
httpmime-4.3.5.jar
en la carpeta
libs
después deSync with Gradle
yRun
.
Si el archivo jar del usuario 1 - httpmime-4.3.5.jar
, no obtendré este error.
Por favor, ayúdame a evitar este error y todavía puedes usar 2 archivos jar arriba también,
Gracias,
p / s: uso Android Studio versión 0.8.6.
Error Detail
Error: archivos duplicados durante el empaquetado de APK ... / app / build / outputs / apk / app-debug-unaligned.apk Ruta en archivo: META-INF / DEPENDENCIES Origen 1: ... / app / libs / httpclient-4.3 .5.jar Origen 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
Cambié de los compile files(''libs/httpmime-4.3.5.jar'')
para usar Maven Link. Recibí el mismo error de nuevo después de poner 2 enlace maven juntos:
compile ''org.apache.httpcomponents:httpmime:4.4-alpha1''
compile ''org.apache.httpcomponents:httpcore:4.4-alpha1''
Esta es la advertencia
Advertencia: Dependencia org.apache.httpcomponents: httpclient: 4.4-alpha1 se ignora para la depuración, ya que puede estar en conflicto con la versión interna proporcionada por Android. En caso de problema, vuelva a empaquetarlo con jarjar para cambiar los paquetes de clase
Advertencia: Dependency org.apache.httpcomponents: httpclient: 4.4-alpha1 se ignora para el lanzamiento, ya que puede estar en conflicto con la versión interna proporcionada por Android. En caso de problema, vuelva a empaquetarlo con jar para cambiar los paquetes de clase
Por favor, ayúdame a solucionarlo
SOULITION Sé que la buena respuesta ahora al agregar estas líneas corregirá el error Duplicate files
:
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''
}
Actualicé a Gradle ahora está funcionando
packagingOptions {excluir ''META-INF / DEPENDENCIES'' excluir ''META-INF / LICENSE'' excluir ''META-INF / LICENSE.txt'' excluir ''META-INF / NOTICE.txt''}
Por favor, actualice esto a su archivo build.gradle.
packagingOptions {
exclude ''META-INF/LICENSE.txt''
exclude ''META-INF/NOTICE.txt''
}
Puede reemplazar los compile files(''libs/httpmime-4.3.5.jar'')
con esta compilación ''org.apache.httpcomponents:httpmime:4.3.5''
.
También estás duplicando las dependencias compile fileTree(include: [''*.jar''], dir: ''libs'')
ya incluye compile files(''libs/httpmime-4.3.5.jar'')
actualice su build.gradle y agregue las siguientes líneas
android{
.
.
.
packagingOptions {
exclude ''META-INF/license.txt''
exclude ''META-INF/LICENSE''
exclude ''META-INF/notice.txt''
exclude ''META-INF/NOTICE''
}
}
esto solucionará este error. Obtuve el mismo error, esto lo solucionó.
agregue el código a continuación a las dependencias
grupo de compilación: ''org.apache.httpcomponents'', nombre: ''httpclient-android'', versión: ''4.3.5'' compilar (grupo: ''org.apache.httpcomponents'', nombre: ''httpmime'', versión: ''4.3.5 '') {excluir módulo:'' org.apache.httpcomponents: httpclient ''}
Ahora, si ejecuta eso, le mostrará por qué está diciendo que el duplicado puede deberse a META-INF / NOTICE, META-INF / LICENSE, agregue que primero, ejecutarlo puede mostrar otro tipo. agregue todos los siguientes en la sección de Android packagingOptions {excluir ''META-INF / LICENSE.txt'' excluir ''META-INF / NOTICE'' excluir ''META-INF / LICENSE''}
definitivamente resolverá tu problema.
elimine todo el archivo de dependencia del sistema antes de la compilación.