Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Las configuraciones de Gradle no funcionan como se espera en el nuevo sistema de compilación de Android

Configuración del entorno

  • Com.android.tools.build:gradle:0.4
  • Gradle versión 1.6
  • Jdk 1.6 (OSX)
  • Android build tools versión 17
  • Compilar la versión sdk 17

La cuestión que parece estar teniendo es que no puedo excluir lombok de ser añadido a la apk. He intentado hacerlo creando una configuración proporcionada como esta:

configurations { provided } sourceSets { main { compileClasspath += configurations.provided } } 

Y luego agregar la dependencia como esta:

 dependencies { provided 'org.projectlombok:lombok:0.11.8′ } 

Pero sigo recibiendo este error:

 Error: duplicate files during packaging of APK <myapp>.apk Path in archive: LICENSE Origin 1: /<home>/.gradle/caches/artifacts-24/filestore/org.projectlombok/lombok/0.11.8/jar/e43ce2be16d8990568a4182c0bf996ad3ff0ba42/lombok-0.11.8.jar Origin 2: /<home>/.gradle/caches/artifacts-24/filestore/org.sonatype.sisu.inject/cglib/2.2.1-v20090111/jar/7ce5e983fd0e6c78346f4c9cbfa39d83049dda2/cglib-2.2.1-v20090111.jar :packageRelease FAILED 

He intentado usar lombok-api.jar que entonces causa un diverso problema con respecto a alguna anotación de AccessLevel mientras que realiza dex.

Lo que sugiere que su incluyendo el archivo jar lombok en el apk. Esto no debería estar sucediendo, ¿alguna sugerencia?

One Solution collect form web for “Las configuraciones de Gradle no funcionan como se espera en el nuevo sistema de compilación de Android”

No puede utilizar los conjuntos de fuentes porque usamos los que se utilizan. Tendrías que hacer lo siguiente:

 android.applicationVariants.each { variant -> variant.javaCompile.classpath += configurations.provided. } 

Sin embargo, debería ser posible eliminar la dependencia de nuestro "paquete" config (que reemplaza el "runtime" uno). Voy a mirar en él.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.