Estoy usando Android Studio 3.2 Beta5 para migrar mi proyecto a AndroidX . Cuando reconstruyo mi aplicación, recibí 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 cómo solucionar esto?
gradle.properties
android.enableJetifier=true
android.useAndroidX=true
build.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'
Respuestas:
Arreglo esto con dos pasos
1) Archivo -> Invalidar cachés / reiniciar ...
2) Construir -> Proyecto limpio
fuente
Recibí el mismo error después de actualizar mi archivo build.gradle con las dependencias de prueba de AndroidX . Resulta que olvidé eliminar la antigua dependencia de junit. Entonces, para mí, la solución fue simplemente eliminar la siguiente dependencia:
fuente
Agregar soporte de Java 8 al archivo build.gradle solucionó el problema para mí
fuente
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:
Java:
Asegúrese de haber habilitado en su gradle.properties:
Fuente: https://github.com/bumptech/glide/issues/3124
¡Espero que esto te ayudará!
fuente
Lo solucionó yendo al directorio principal y escribiendo
flutter clean
fuente
Eliminar el testInstrumentationRunner funcionó para mí:
fuente
Si está usando
Kotlin
, el problema aparecerá si no usa lakapt
versión para cualquier procesador de anotaciones que use en el proyecto.Como @Vince mencionó el caso
Glide
, esto podría suceder conDagger2
,Butterknife
etc.Si está utilizando ambos
Java
yKotlin
necesitará mantener ambas dependencias, de la siguiente manera (donde$glideVersion
es una versión predefinida deGlide
):Si está en un
Kotlin
único proyecto, lakapt
dependencia debería funcionar sola.EDITAR
Otra cosa que debes tener en cuenta es si ya lo estás usando
Androidx
.Androidx
es un gran refactorizador, pero al migrar puede hacer que algunas de sus dependencias colapsen. Las bibliotecas principales ya están actualizadasAndroidx
, sin embargo, algunas de ellas no lo están e incluso no lo estarán.Si el problema no desaparece con mi solución proporcionada arriba de esta edición, puede echar un vistazo a sus dependencias y asegurarse de que
Androidx
también se usen .EDITAR 2
Como mencionó @Ted, investigué nuevamente y tiene razón
kapt
, también manejajava
archivos.kapt
solo hará el truco, no es necesario mantener amboskapt
yannotationProcessor
dependencias.fuente
Intenta eliminar esta línea:
de la sección buildscript / repositorios de su archivo build.gradle.
Cuando agregué esa línea, recibí el error que describiste. Cuando lo quité, ya no. Esa línea solo debe estar en la sección de todos los proyectos / repositorios.
fuente
Intente configurar android.enableJetifier = false en gradle.properties. Luego invalidar cachés / reiniciar ... en Android Studio
fuente
La solución está en 4.2.0, use la versión superior de google gms jar.
Intenta cambiar:
por esta versión:
Espero que esto funcione...
fuente
Si está utilizando daga o navaja, asegúrese de actualizarlo a la última versión. O, si tiene otra biblioteca de inyección utilizada en su proyecto, puede intentar verificar si es compatible con androidx o no.
He encontrado el mismo error, el problema está en mi daga y navaja. Lo arreglé actualizándolo a la versión más reciente.
fuente
Versión de Android: 4.10.2
Resolví este problema con tres pasos simples: Primero agregué debajo de esto en pubspec.yml: (con dos espacios de ideación)
Agregando estas dos líneas a continuación en gradle.properties, tengo esto en android / gradle.properties, en la carpeta del proyecto.
Y después de esto escribí con el terminal:
Quizás deba detener el dispositivo y volver a ejecutarlo.
fuente
Solucioné esto actualizando las dependencias de Firebase a la última.
fuente
Lo arreglé actualizando el caché (en lugar de invalidarlo, lo que también borra el historial local):
¡Eso es!
fuente
Vaya al archivo y haga clic en Invalidar cachés y reinicie.
Después de que se reinicia, aumenta la versión mínima del SDK en el
build.gradle
archivo de su aplicación .fuente