Archivos duplicados durante el empaquetado de APK app-debug-unaligned.apk


Obtuve este error Duplicate files during packaging of APK app-debug-unaligned.apk cuando puse 2 archivos jar:

  • httpclient-4.3.5.jar

  • httpmime-4.3.5.jar

    En la carpeta libs después de Sync with Gradle y Run.

Si el usuario 1 jar file - httpmime-4.3.5.jar, no obtendré este error.

Por favor, ayúdame a evitar este error y todavía puedo usar 2 archivos jar en la parte superior también,

Gracias,

P/s : Uso la versión de Android Studio 0.8.6.

Error Detail

Error: archivos duplicados durante el empaquetado de APK ...\app \ build \ outputs \ apk \ app-debug-unaligned.apk Ruta en el archivo: META-INF / DEPENDENCIES Origen 1: ...\ app\libs \ httpclient-4.3.5.frasco 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 compile files('libs/httpmime-4.3.5.jar') para usar Maven Link. Tengo el mismo error de nuevo después de poner 2 maven enlace 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 es ignorado para depuración, ya que puede estar en conflicto con la versión interna proporcionado por Android. En caso de problema, por favor vuelva a empaquetarlo con jarjar para cambiar la clase packages

Advertencia: Dependencia org.apache.httpcomponents: httpclient: 4.4-alpha1 es ignorado para la liberación ya que puede estar en conflicto con la versión interna proporcionada por Androide. En caso de problema, vuelva a empaquetarlo con el tarro para cambiar el paquetes de clase

Por favor, ayúdame a arreglarlo.

SOULITION Sé que una buena respuesta ahora al agregar estas líneas solucionará 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'
}
Author: Huy Tower, 2014-08-25

5 answers

Puede reemplazar compile files('libs/httpmime-4.3.5.jar') con esta compilación 'org.apache.httpcomponents:httpmime:4.3.5'.

También está duplicando las dependencias compile fileTree(include: ['*.jar'], dir: 'libs') que ya incluye compile files('libs/httpmime-4.3.5.jar')

 10
Author: hoomi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-25 10:25:17

Actualiza tu compilación.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. Tengo el mismo error, haciendo esto lo arregló.

 8
Author: Gaurav Sharma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-09 11:12:30

Por favor actualice esto a su compilación.archivo gradle.

    packagingOptions { 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/NOTICE.txt' 
 }
 0
Author: Sadh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-24 06:39:22

He actualizado gradle ahora está funcionando

Opciones de embalaje { excluir 'META-INF / DEPENDENCIES' excluir 'META-INF / LICENSE' excluir ' META-INF / LICENSE.txt" exclude ' META-INF / NOTICE.txt" }

 0
Author: Jyoti Prakash Rai,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-16 04:02:14

Agregue el siguiente código a las dependencias

Compile group: 'org.apache.httpcomponents', nombre: 'httpclient-android', versión: '4.3.5' compile (grupo: 'org.apache.httpcomponents', nombre: 'httpmime', versión: '4.3.5') { excluir módulo: 'org.apache.httpcomponents: httpclient" }

Ahora si ejecuta que le mostrará por qué está diciendo duplicado puede ser debido a META-INF/NOTICE, META-INF/LICENSE, agregue que primero vuelva a ejecutar puede mostrar otro tipo. añadir todo como a continuación en la sección android Opciones de embalaje { excluir ' META-INF / LICENSE.txt" excluir "META-INF/NOTICE" excluir 'META-INF / LICENSE' }

Definitivamente va a resolver su problema.

Elimine todo el archivo de dependencia del sistema antes de la compilación.

 -3
Author: Nirmal Dhara,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-25 14:10:30