expresiones - Error de Android Studio al agregar soporte java8
expresiones lambda android (6)
No agregue jackOptions
si no está migrando desde jackOptions
.
Refere este enlace:
¿Qué pasa con mi Android Studio o mi configuración?
Error:(22, 0) Could not find method jackOptions() for arguments [build_1b0umrzpkhcolzr325bxbizec$_run_closure1$_closure5@41c39fc1] on project '':app'' of type org.gradle.api.Project.
y este es mi build.gradle
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.twtstudio.wepeiyanglite"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro''
}
}
jackOptions {
enabled true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath ''com.android.tools.build:gradle:2.2.0-beta1''
classpath ''com.neenbedankt.gradle.plugins:android-apt:1.8''
classpath ''com.github.dcendents:android-maven-gradle-plugin:1.3''
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
¿Supongo que el conector no está habilitado en mi entorno de desarrollo, y cómo descubrir los errores y solucionarlos? Ya he instalado el jdk1.8
Puede usar compileOpitons
después del bloque buildTypes
sin usar el bloque jackOptions
como este:
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.abdo.nadias"
minSdkVersion 17
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(''proguard-android-optimize.txt''), ''proguard-rules.pro''
}
}
compileOptions {
sourceCompatibility = ''1.8''
targetCompatibility = ''1.8''
}
}
Según la última documentación.
defaultConfig {
...
jackOptions {
enabled true
}
}
es redundante, por lo que puede eliminar por completo.
Consulte https://developer.android.com/studio/write/java8-support.html?utm_source=android-studio
jackOptions debería estar dentro de defaultConfig {} así:
defaultConfig {
...
jackOptions {
enabled true
}
}
mover
jackOptions {
enabled true
}
dentro de la default config { }
paréntesis
Según la documentation :
La cadena de herramientas de Jack está en desuso , según este announcement . Si su proyecto depende de Jack, debe migrar a usar el soporte de Java 8 integrado en el conjunto de herramientas predeterminado de Android Studio. El uso de la cadena de herramientas predeterminada también incluye soporte para bibliotecas de terceros que utilizan las características del lenguaje Java 8, la ejecución instantánea y herramientas que dependen de los archivos de clase intermedia.
Para deshabilitar a Jack y cambiar a la cadena de herramientas predeterminada, simplemente elimine el bloque jackOptions del archivo build.gradle de su módulo:
android {
...
defaultConfig {
...
// Remove this block.
jackOptions {
enabled true
...
}
}
// Keep the following configuration in order to target Java 8.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}