update studio configurar actualizar android gradle android-gradle

configurar - Android Studio 0.4 archivos duplicados copiados en APK META-INF/LICENSE.txt



update gradle android studio (13)

Después de actualizar mi Studio de 0.3.7 a 0.4.0, no puedo compilar mi proyecto. Encontré una solución en stackoverflow: archivos duplicados copiados (Android Studio 0.4.0)

Actualicé mi proyecto a gradle 0.7. +, Pero no sé dónde debo poner las siguientes cadenas:

android { packagingOptions { exclude ''META-INF/LICENSE.txt'' } }

Mi logcat: registro

Execution failed for task '':Prog:packageDebug''. > Duplicate files copied in APK META-INF/LICENSE.txt File 1: /home/scijoker/AndroidStudioProjects/ProgProject/Prog/libs/httpclient-4.1.1.jar File 2: /home/scijoker/AndroidStudioProjects/ProgProject/Prog/libs/httpclient-4.1.1.jar

Desarrollar PS en ubuntu 13.04


¡¡Atención!! Posible violación de la licencia de OpenSource.

Al excluir los archivos de license.txt como se propuso anteriormente, puede violar algunas licencias de código abierto, ya que es un punto común en las licencias de código abierto para acordar agregarlo a su fuente. Mejor revise sus licencias de código abierto.

Actualización: hasta que haya una mejor solución, use

packagingOptions { pickFirst ''META-INF/license.txt'' }

así, al menos, cumple una parte de la obligación de licencia


Agregar:

packagingOptions { exclude ''META-INF/LICENSE'' exclude ''META-INF/NOTICE'' exclude ''META-INF/NOTICE.txt'' }

funcionó para mí, la solución de biniam_Ethiopia es probablemente la más segura


Al insertar este código

android{ packagingOptions{ exclude ''META-INF/notice.txt'' exclude ''META-INF/license.txt'' } }

ASEGÚRESE si se muestra un error

> Copiar archivos duplicados en APK META-INF / LICENSE.txt

Luego añade

android{ packagingOptions{ exclude ''META-INF/LICENSE.txt'' } }

si por error está mostrando

> Copiar archivos duplicados en APK META-INF / LICENSE

Luego añade

android{ packagingOptions{ exclude ''META-INF/LICENSE'' } }

si por error está mostrando

> Copiar archivos duplicados en APK META-INF / license.txt

Luego añade

android{ packagingOptions{ exclude ''META-INF/license.txt'' } }

En texto breve CASE y document FORMAT (.txt) es tan importante.

(este error existe en Android Studio 1.1.0 también)


Cuando use java-jwt y jackson-core juntos, use lo siguiente:

exclude("META-INF/maven/com.fasterxml.jackson.core/jackson-annotations/pom.properties") exclude("META-INF/maven/com.fasterxml.jackson.core/jackson-annotations/pom.xml") exclude("META-INF/maven/com.fasterxml.jackson.core/jackson-core/pom.properties") exclude("META-INF/maven/com.fasterxml.jackson.core/jackson-core/pom.xml") exclude("META-INF/maven/com.fasterxml.jackson.core/jackson-databind/pom.properties") exclude("META-INF/maven/com.fasterxml.jackson.core/jackson-databind/pom.xml")


Esto puede ser una mala práctica, sin embargo, si incluye múltiples bibliotecas grandes, puede encontrarse trabajando en cientos de este tipo de conflictos.

A continuación se enumera una solución super simple para tales casos:

android { .... packagingOptions { // Allow the compilation process to choose the dependencies for us. pickFirst "**" } }


Esto te ayudará a resolver el problema

packagingOptions { exclude ''META-INF/ASL2.0'' exclude ''META-INF/LICENSE'' exclude ''META-INF/NOTICE'' exclude ''META-INF/LICENSE.txt'' exclude ''META-INF/NOTICE.txt'' exclude ''META-INF/DEPENDENCIES'' }


Me enfrentaba al mismo problema que para la nueva versión de gradle, el formato de texto Below build.gradle funciona para mí:

Hay dos jarras jackson en mi carpeta libs.

android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.omtlab.myapplication" minSdkVersion 14 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro'' } } packagingOptions { exclude ''libs/jackson-core-asl-1.9.13.jar'' exclude ''libs/jackson-mapper-asl-1.9.13.jar'' exclude ''META-INF/ASL2.0'' exclude ''META-INF/LICENSE'' exclude ''META-INF/NOTICE'' } } dependencies { //compile fileTree(include: [''*.jar''], dir: ''libs'') compile ''com.android.support:appcompat-v7:21.0.3'' compile files(''libs/jackson-core-asl-1.9.13.jar'') compile files(''libs/jackson-mapper-asl-1.9.13.jar'') }


Poner las dependencias en la parte superior y las packageOptions al final funcionó para mí.

apply plugin: ''android''.

Aquí está mi build.gradle completo en la carpeta de la aplicación.

dependencies { compile ''com.android.support:support-v4:+'' compile files(''libs/apache-mime4j-0.6.jar'') compile files(''libs/httpmime-4.0.jar'') } android { compileSdkVersion 19 buildToolsVersion "19.0.1" defaultConfig { minSdkVersion 7 targetSdkVersion 10 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard- rules.txt'' } 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'' } }

EDITAR: Casi todas las licencias de SO incluyen la obligación de "incluir una copia de la licencia" en su proyecto. Esto significa que debe incluir una copia de todas las licencias de sistema operativo que utiliza en sus proyectos. Al "excluirlos" en Gradle, violas las licencias.

Excluirlos del proyecto podría no ser la mejor opción. Gracias RS por la información.


Puede solucionarlo agregando el siguiente código a project/app/build.gradle :

android { // Fixed build error : Duplicate files copied in APK META-INF/xxx packagingOptions { exclude ''META-INF/DEPENDENCIES'' exclude ''META-INF/NOTICE'' exclude ''META-INF/LICENSE'' exclude ''META-INF/NOTICE.txt'' exclude ''META-INF/LICENSE.txt'' } }


Solo agrego 2:

android{ packagingOptions{ exclude ''META-INF/LICENSE.txt'' exclude ''META-INF/LICENSE'' } }


Tuve un error similar y lo resolví sin las packingOptions() y exclude . Estaba agregando dos dependencias, pero una era un subgrupo de la primera. Esto causó el error, una vez que eliminé uno de ellos obtuve una compilación limpia. Recomiendo comprobar si hay un error similar dentro de tu bloque de dependencia.


solo agrega

android { packagingOptions { exclude ''META-INF/LICENSE.txt'' } }

en build.gradle


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'' }

Agregue el archivo build.gradle y el proyecto syn