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


Android Jack: Lambda que viene del archivo jar necesita sus interfaces en el classpath para ser compilado, las interfaces desconocidas son java.util.function.Consumer

Conseguir esto en android studio 2.2.

¿Alguien tiene una solución?

Mi archivo de compilación de aplicaciones es:

apply plugin: 'com.android.application' android { compileSdkVersion 24 buildToolsVersion "24.0.2" defaultConfig { applicationId "acme.cb2" minSdkVersion 18 targetSdkVersion 24 versionCode 1 versionName "1.0" jackOptions { enabled true } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:24.1.1' compile 'com.android.support:support-v4:24.1.1' } 

Edit: modifid el archivo de compilación principal para incluir respuesta de https://stackoverflow.com/users/5753091/mohammadreza-khalifeh – pero esto no ayudó

 import java.text.SimpleDateFormat buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.0' classpath 'org.hidetake:gradle-ssh-plugin:2.4.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xbootclasspath/a:" + System.properties.get("java.home") + "/lib/rt.jar" } } } 

Editar: añadir:

 options.compilerArgs.each { println 'option: '+it} 

Imprime hacia fuera:

 option: -Xbootclasspath/a:C:\Program Files\Java\jdk1.8.0_92\jre/lib/rt.jar 

Parece que el espacio en el camino puede causar un problema?

Editar: intentando:

 options.compilerArgs << "\""+"-Xbootclasspath/a:" + System.properties.get("java.home") + "/lib/rt.jar"+"\"" 

Tampoco funciona.

4 Solutions collect form web for “Android Jack: Lambda que viene del archivo jar necesita sus interfaces en el classpath para ser compilado, las interfaces desconocidas son java.util.function.Consumer”

Tuve este problema después de añadir Guava biblioteca a mis dependencias.

La solución fue rebajar la versión lib de com.google.guava:guava:21.0 a com.google.guava:guava:20.0 .

También, estoy usando classpath 'com.android.tools.build: gradle: 2.5.0-alpha-preview-01`

EDIT: Como no utiliza esta biblioteca, intente cambiar:

  • En el proyecto build.gradle
    • Classpath de classpath 'com.android.tools.build:gradle:2.2.0' a com.android.tools.build:gradle:2.5.0-alpha-preview-01
  • En app build.gradle

    • De compileSdkVersion 24 a 25
    • De buildToolsVersion "24.0.2" a 25.0.2
  • En gradle-wrapper.properties

    • Cambie la versión a distributionUrl=https://services.gradle.org/distributions-snapshots/gradle-3.5-20170213202653+0000-all.zip

Agrega esto en tu build.gradle:

 allprojects { repositories { jcenter() } gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xbootclasspath/a:" + System.properties.get("java.home") + "/lib/rt.jar" } } } 

Tratar

 classpath 'com.android.tools.build:gradle:2.3.+' 

y

 minSdkVersion 25 

Actualizando android studio, lo siguiente parece funcionar (pero ahora es muy lento):

 apply plugin: 'com.android.application' android { compileSdkVersion 25 buildToolsVersion "25.0.0" defaultConfig { applicationId "acme.cb2" minSdkVersion 22 targetSdkVersion 25 versionCode 1 versionName "1.0" jackOptions { enabled true } } dexOptions { //javaMaxHeapSize "4G" } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:25.2.0' compile 'com.android.support:support-v4:25.2.0' } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.