web-dev-qa-db-fra.com

Impossible de résoudre la variable '$ {animal.sniffer.version}' lors de la migration vers AndroidX

J'utilise Android Studio 3.2 Beta5 pour migrer mon projet vers AndroidX . Lorsque je reconstruis mon application, j'ai eu ces erreurs:

ERREUR: [TAG] Impossible de résoudre la variable '$ {animal.sniffer.version}'

ERREUR: [TAG] Impossible de résoudre la variable '$ {junit.version}'

Full clean & reconstruire n'a pas fonctionné! Quelqu'un sait comment réparer ceci? Aidez-moi, s'il vous plaît. 

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'
67
nhoxbypass

Je résous cela en deux étapes

1) Fichier -> Invalider Caches/restart ...  enter image description here

2) Construire -> Nettoyer le projet  enter image description here

59
Beto

Il semble que ce soit le problème Glide.

J'ai eu la même erreur et je viens de mettre à jour les dépendances de Glide à 4.8 et il n'y a pas d'erreurs de construction.

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"

Assurez-vous d'avoir activé dans votre fichier gradle.properties:

Android.useAndroidX=true
Android.enableJetifier=true

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

J'espère que ceci vous aidera!

13
Vince

Ajout de support de Java 8 à build.gradle fichier problème résolu pour moi

Android {
     ...

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

Supprimer le testInstrumentationRunner a fonctionné pour moi:

defaultConfig {
...
...
//        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
3
M. Usman Khan

J'ai eu la même erreur après la mise à jour de mon fichier build.gradle avec dépendances AndroidX Test . Il s'avère que j'ai oublié de supprimer l'ancienne dépendance Junit. Donc, pour moi, le correctif consistait simplement à supprimer la dépendance suivante:

dependencies {
    ...
    testImplementation 'junit:junit:4.12'
}
2
A Droid

Essayez de supprimer cette ligne:

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

de la section buildscript/repositories de votre fichier build.gradle.

Lorsque j'ai ajouté cette ligne, j'ai eu l'erreur que vous avez décrite. Quand je l'ai enlevé, pas plus. Cette ligne ne doit figurer que dans la section allprojects/repositories.

2
Raj

Essayez de définir Android.enableJetifier = false dans gradle.properties. Puis invalider les caches/redémarrer ... dans Android Studio

1
Minh Pham

Allez dans le fichier et cliquez sur Invalidate caches et redémarrez.

Après le redémarrage, vous augmentez la version minimale du SDK dans le fichier build.gradle de votre application.

0
Daniel Agyapong

J'ai résolu ce problème en mettant à jour les dernières dépendances de Firebase.

0
Gab Ledesma

Si vous utilisez Kotlin, le problème s'affichera si vous n'utilisez pas la version kapt pour tout processeur d'annotation utilisé dans le projet.
Comme @Vince a mentionné le cas avec Glide, cela pourrait arriver avec Dagger2, Butterknife, etc.
Si vous utilisez à la fois Java et Kotlin, vous devez conserver les deux dépendances, comme suit ($glideVersion est une version prédéfinie de Glide):

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

Si vous êtes sur un projet Kotlin seulement, la dépendance kapt devrait fonctionner seule.

MODIFIER
.__ Une autre chose que vous devriez avoir à l'esprit est si vous utilisez déjà Androidx. Androidx est un excellent refactor, mais lors de sa migration, certaines de vos dépendances peuvent s'effondrer. Les bibliothèques principales sont déjà mises à jour en Androidx, mais certaines d'entre elles ne le sont pas et ne le feront même pas.
Si le problème ne disparaît pas avec la solution fournie ci-dessus, vous pouvez consulter vos dépendances et vous assurer qu'elles utilisent également la variable Androidx.

0
pamobo0609

Le correctif est dans 4.2.0, utilisez la version supérieure de google gms jar.

Essayez de changer: 

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

par cette version:

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

J'espère que ça marche ...

0
Dimitri de Jesus