android android-studio android-studio-3.0 androidx android-studio-3.2

Error al resolver la variable ''${animal.sniffer.version}'' cuando se migra a AndroidX



android-studio android-studio-3.0 (12)

Estoy usando Android Studio 3.2 Beta5 para migrar mi proyecto a AndroidX . Cuando reconstruyo mi aplicación obtuve estos errores:

ERROR: [TAG] Error al resolver la variable ''$ {animal.sniffer.version}''

ERROR: [TAG] Error al resolver la variable ''$ {junit.version}''

¡La limpieza y reconstrucción completas no funcionaron! Alguien sabe como arreglar esto?

gradle.properties

android.enableJetifier=true android.useAndroidX=true

construir.gradle

buildscript { repositories { google() jcenter() mavenCentral() maven { url ''https://maven.fabric.io/public'' } maven { url "https://oss.sonatype.org/content/repositories/snapshots" } } dependencies { classpath ''com.android.tools.build:gradle:3.2.0-beta05'' classpath ''com.google.gms:google-services:4.0.1'' classpath "io.realm:realm-gradle-plugin:5.3.1" classpath ''io.fabric.tools:gradle:1.25.4'' classpath ''com.google.firebase:firebase-plugins:1.1.5'' } } allprojects { repositories { google() jcenter() mavenCentral() maven { url "https://oss.sonatype.org/content/repositories/snapshots" } } } task clean(type: Delete) { delete rootProject.buildDir }

app / build.gradle

apply plugin: ''com.android.application'' apply plugin: ''realm-android'' apply plugin: ''io.fabric'' apply plugin: ''com.google.firebase.firebase-perf'' android { compileSdkVersion 28 buildToolsVersion "28.0.0" defaultConfig { applicationId "com.iceteaviet.fastfoodfinder" minSdkVersion 16 targetSdkVersion 28 versionCode 1 versionName "1.0" multiDexEnabled true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro'' } debug { } } aaptOptions { cruncherEnabled = false } } dependencies { implementation fileTree(include: [''*.jar''], dir: ''libs'') testImplementation ''junit:junit:4.12'' implementation ''com.jakewharton:butterknife:9.0.0-SNAPSHOT'' implementation ''androidx.appcompat:appcompat:1.0.0-rc01'' implementation ''com.google.android.material:material:1.0.0-rc01'' implementation ''androidx.legacy:legacy-support-v4:1.0.0-rc01'' implementation ''androidx.cardview:cardview:1.0.0-rc01'' implementation ''com.google.maps.android:android-maps-utils:0.5'' implementation ''com.google.android.gms:play-services-maps:15.0.1'' implementation ''com.google.android.gms:play-services-location:15.0.1'' implementation ''com.google.firebase:firebase-core:16.0.1'' implementation ''com.google.firebase:firebase-database:16.0.1'' implementation ''com.google.firebase:firebase-auth:16.0.1'' implementation ''com.google.android.gms:play-services-auth:15.0.1'' implementation ''com.github.bumptech.glide:glide:4.7.1'' implementation ''com.google.code.gson:gson:2.8.5'' implementation ''com.squareup.retrofit2:retrofit:2.4.0'' implementation ''com.squareup.retrofit2:converter-gson:2.4.0'' implementation ''org.greenrobot:eventbus:3.1.1'' implementation ''de.hdodenhof:circleimageview:2.2.0'' implementation ''io.realm:realm-android-library:5.3.1'' implementation ''com.facebook.android:facebook-android-sdk:4.34.0'' implementation ''io.reactivex.rxjava2:rxandroid:2.0.2'' implementation ''io.reactivex.rxjava2:rxjava:2.0.2'' implementation ''androidx.multidex:multidex:2.0.0'' implementation ''com.crashlytics.sdk.android:crashlytics:2.9.4'' implementation ''com.google.firebase:firebase-perf:16.0.0'' implementation ''com.jakewharton.timber:timber:4.7.1'' annotationProcessor ''com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT'' annotationProcessor ''com.github.bumptech.glide:compiler:4.7.1'' } apply plugin: ''com.google.gms.google-services''


Agregando soporte de Java 8 al problema arreglado del archivo build.gradle para mí

android { ... //Add the following configuration in order to target Java 8. compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }


Arreglé esto actualizando las dependencias de base de fuego a la última.


Arreglo esto con dos pasos.

1) Archivo -> Invalidar cachés / reiniciar ...

2) Construir -> Limpiar proyecto


Eliminando el testInstrumentationRunner funcionó para mí:

defaultConfig { ... ... // testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" }


Intenta eliminar esta línea:

maven { url "https://oss.sonatype.org/content/repositories/snapshots" }

de la sección buildscript / repositories de su archivo build.gradle.

Cuando agregué esa línea, obtuve el error que describiste. Cuando lo quité, ya no. Esa línea solo debe estar en la sección todos los proyectos / repositorios.


Intente configurar android.enableJetifier = false en gradle.properties. Luego invalide los cachés / reinicie ... en Android Studio


Ir al archivo y hacer clic en Invalidar cachés y reiniciar.

Después de que se reinicie, aumentará la versión mínima de SDK en el archivo build.gradle su aplicación.


La solución está en 4.2.0, usa la versión superior de google gms jar.

Intenta cambiar:

classpath ''com.google.gms: google-services: 4.0.1''

por esta versión:

classpath ''com.google.gms: google-services: 4.2.0''

Espero que esto funcione...


Lo arreglé actualizando el cahche (en lugar de invalidarlo, lo que también borra el historial local):

  1. en el archivo gradle.properties, comente la línea org.gradle.caching = true.
  2. Limpiar, reconstruir.
  3. en el archivo gradle.properties, anule el comentario de la línea org.gradle.caching = true.
  4. Limpiar, reconstruir.

¡Eso es!


Parece ser Glide el problema.

Tuve el mismo error y acabo de actualizar las dependencias de Glide a 4.8 y no hay errores de compilación.

Kotlin:

// Glide def glide_version = "4.8.0" implementation "com.github.bumptech.glide:glide:$glide_version" kapt "com.github.bumptech.glide:compiler:$glide_version"

Java:

// Glide def glide_version = "4.8.0" implementation "com.github.bumptech.glide:glide:$glide_version" annotationProcessor "com.github.bumptech.glide:compiler:$glide_version"

Asegúrese de tener habilitado en su gradle.properties:

android.useAndroidX=true android.enableJetifier=true

Fuente: https://github.com/bumptech/glide/issues/3124

¡Espero que esto te ayudará!


Recibí el mismo error después de actualizar mi archivo build.gradle con las dependencias de prueba de AndroidX . Resulta que me olvidé de eliminar la antigua dependencia junit. Así que para mí, la solución fue simplemente eliminar la siguiente dependencia:

dependencies { ... testImplementation ''junit:junit:4.12'' }


Si está utilizando Kotlin , el problema se abrirá si no usa la versión kapt para cualquier procesador de anotaciones que use en el proyecto.
Como @Vince mencionó el caso con Glide , esto podría suceder con Dagger2 , Butterknife , etc.
Si está utilizando tanto Java como Kotlin , deberá mantener ambas dependencias, de la siguiente manera (si $glideVersion es una versión predefinida de Glide ):

implementation "com.github.bumptech.glide:glide:$glideVersion" kapt "com.github.bumptech.glide:compiler:$glideVersion"

Si está en un proyecto de Kotlin solamente, la dependencia de kapt debería funcionar sola.

EDITAR
Otra cosa que debes tener en cuenta es si ya estás usando Androidx . Androidx es un gran refactor, pero al migrar puede ocasionar que algunas de sus dependencias colapsen. Las bibliotecas principales ya están actualizadas a Androidx , sin embargo, algunas de ellas no lo están y ni lo harán.
Si el problema no desaparece con la solución provista por encima de esta edición, puede echar un vistazo a sus dependencias y asegurarse de que también usen Androidx .

Editar 2
Como mencionó @Ted, investigué de nuevo y tiene razón kapt maneja archivos java . kapt solo hará el truco, no es necesario mantener las dependencias de kapt y de annotationProcessor kapt .