web-dev-qa-db-fra.com

Encore des avertissements: La configuration 'compiler' est obsolète et a été remplacée par 'implémentation'

J'ai remplacé chaque occurrence de compile par implementation dans le build.gradle de mon projet, mais l'avertissement persiste:

 enter image description here

J'ai essayé de chercher "compiler" dans tout le projet mais aucune correspondance n'a été trouvée. Alors quelle pourrait être la cause?

283
Rob

J'ai mis à jour com.google.gms:google-services de 3.1.1 à 3.2.0 et l'avertissement a cessé d'apparaître.

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.1.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files

    classpath 'com.google.gms:google-services:3.2.0'
    }
}
433
Jkrevis

J'ai un même avertissement causé à com.google.gms: google-services.

La solution consiste à mettre à niveau le chemin de classe com.google.gms: google-services au chemin de classe 'com.google.gms: google-services: 3.2.0' dans le fichier build.gradle Projet:

 enter image description here

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:3.2.0'
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Dans les dépendances de la version 3.1 d'Android Studio, Word est remplacé par la mise en œuvre

dépendances avec Warning dans Android studio 3.1

dependencies {
            compile fileTree(dir: 'libs', include: ['*.jar'])
            compile 'com.Android.support:appcompat-v7:27.1.0'
            compile 'com.Android.support.constraint:constraint-layout:1.0.2'
            testImplementation 'junit:junit:4.12'
            androidTestImplementation 'com.Android.support.test:runner:1.0.1'
            androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
    }

dependencies OK dans Android studio 3.1

    dependencies {
            implementation fileTree(dir: 'libs', include: ['*.jar'])
            implementation 'com.Android.support:appcompat-v7:27.1.0'
            implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
            testImplementation 'junit:junit:4.12'
            androidTestImplementation 'com.Android.support.test:runner:1.0.1'
            androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'

    }

Gradel générer par Android Studio 3.1 pour un nouveau projet.

Gradel generate by Android Studio 3.1 for new project.

Visitez https://docs.gradle.org/current/userguide/dependency_management_for_Java_projects.html

Pour plus de détails https://docs.gradle.org/current/userguide/declaring_dependencies.html

113
Didier

J'ai mis à jour com.google.gms: google-services de 3.2.0 à 3.2.1 et l'avertissement a cessé d'apparaître.

 buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.1.1'
        classpath 'com.google.gms:google-services:3.2.1'

    }
}
28
Prateek218

L’utilisation de la dernière version des services google gms a permis de résoudre le problème.

Au niveau du projet build.gradle:

buildscript {
    ...
    dependencies {
        classpath 'com.google.gms:google-services:3.2.1'
        ...  
    }
}
21
Hovanes Mosoyan

Ouvrez votre fichier build.gradle situé ici: 

 enter image description here

C'est l'ancienne manière d'écrire les bibliothèques de dépendances (pour Gradle version 2 et inférieure):

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile files('libs/volley.jar')
    compile 'com.Android.support:support-v4:21.+'
}

Voici le nouveau moyen (à droite) d’importer les dépendances pour Gradle version 3:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    testImplementation 'junit:junit:4.12'
    implementation files('libs/volley.jar')
    implementation 'com.Android.support:support-v4:21.+'
}
16
Gene

Répondre par google: https://issuetracker.google.com/issues/74048134

Certaines compilations continueraient d’utiliser la compilation, vérifiez soigneusement les dépendances de votre application et les dépendances transitives.

11
quangkid

https://issuetracker.google.com/issues/72479188 indique que les plugins peuvent parfois introduire des dépendances "compiler" et que c'est ce qui déclenche l'avertissement. Il est probablement plus facile d’établir ce problème et d’attendre jusqu’à ce qu’ils le résolvent pour indiquer les plug-ins qui sont à l’origine du problème.

7
Eric

Pas besoin de supprimer la ligne. Comme Jkrevis l'a écrit, mettez à jour le fichier com.google.gms: google-services vers 3.2.0 et les avertissements cesseront.

6
Tom

Dans mon cas, c'est dû à la bibliothèque Realm, après que je l'ai mise à jour à la dernière version (5.1.0 jusqu'à présent) de Realm, le problème est résolu!

Voici le script de travail: 

buildscript {
repositories {
    jcenter()
    google()
}

dependencies {
    classpath 'com.Android.tools.build:gradle:3.1.2'
    classpath "io.realm:realm-gradle-plugin:5.1.0"
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    classpath 'com.google.gms:google-services:3.2.1'
  }
}
4
ken

Juste mettre à jour la version de google-service n'a pas fonctionné pour moi.  

  • Commencez par vous assurer que toutes vos dépendances compile sont remplacées par implementation.
  • Mettez à jour toutes les dépendances de votre projet. Parce que si l'une de vos dépendances a compile, votre projet affichera cette erreur. Donc, mettez à jour toutes les versions de dépendances.
3
Khemraj

Je rencontre ce problème sans utiliser com.google.gms:google-services. La solution pour résoudre ce genre problème comme ci-dessous:

  1. vérifier les fichiers build.gradle de tous les projets et modules. Ou simplement la clé de recherche globale Word 'compiler' pour trouver la cause de cet avertissement.
  2. si la méthode ci-dessus ne permet pas de résoudre cet avertissement, utilisez la commande CLI, ./gradlew assembleDebug -d > gradle.log
    affiche les informations de débogage détaillées dans un fichier nommé gradle.log ou n’importe quel autre fichier, car les informations sont trop nombreuses. Ensuite, recherchez le mot "AVERTISSEMENT" pour trouver la position dans gradle.log. En général, vous pouvez trouver quelle dépendance ou quel plugin cause l'avertissement.
2
zhangliang

Dans mon cas, c'était une ancienne dépendance qui utilisait la compilation pour les dépendances transitives: com.jakewharton.hugo

Après l'avoir retiré de mon grade, il a été compilé. 

2
PerrierCitror

allez dans votre fichier build.gradle au niveau du projet, vous trouverez les lignes suivantes en surbrillance

dependencies {
    classpath 'com.Android.tools.build:gradle:3.1.4'  //place your cursor over here 
    //and hit alt+enter and it will show you the appropriate version to select


    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files

    classpath 'com.google.gms:google-services:4.0.2' //the same as previously
}
2
Rabie Hamza

La solution de contournement pour résoudre ce problème a été pour moi d’utiliser une version plus ancienne de Gradle, que vous pouvez trouver ici :

J'ai utilisé la version gradle-3.0-rc-1-src, mais d'autres peuvent aussi fonctionner, même si probablement elles ne devraient pas être plus récentes que la version 3.0.

Commencez par extraire le fichier Zip où vous le souhaitez.

Ensuite, allez dans Fichier -> Paramètres -> Construire, Exécution, Déploiement -> Graduer et modifiez le paramètre pour Utiliser la distribution de gradation locale. Après cela, assurez-vous que le champ Gradle Home pointe vers le répertoire .gradle du répertoire dans lequel vous venez de décompresser.

Reconstruisez le projet et tout devrait bien se passer.

1
tpn

Il suffit d'ajouter à partir de build.gradle à partir de build script

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

et toutes les dépendances "compile" remplacer par "implementation"

cela a fonctionné de moi.

0

Pour moi, changer compiler en implémentation l'a corrigé

Avant

compile 'androidx.recyclerview:recyclerview:1.0.0'
compile 'androidx.cardview:cardview:1.0.0'
//Retrofit Dependencies
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'

Après

implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
//Retrofit Dependencies
implementation 'com.squareup.retrofit2:retrofit:2.1.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
0
Jagadesha NH

J'ai essayé de remplacer le google gms services par le dernier com.google.gms:google-services:3.2.1 dans Android Studio 3.0.1 mais l'avertissement persiste toujours.

Comme recommandé par le compilateur, j'ai changé toutes les dépendances compile en implementation et testCompile en testImplementation comme ceci ..

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.Android.support:appcompat-v7:27.1.1'
implementation 'com.Android.support:mediarouter-v7:27.1.1'
implementation 'com.Android.support:design:27.1.1'
implementation 'com.google.firebase:firebase-ads:12.0.1'
implementation 'com.google.firebase:firebase-crash:12.0.1'
implementation 'com.google.firebase:firebase-core:12.0.1'
implementation 'com.google.firebase:firebase-messaging:12.0.1'
implementation 'com.google.firebase:firebase-perf:12.0.1'
implementation 'com.google.firebase:firebase-appindexing:12.0.1'
implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

Et finalement, l'avertissement est supprimé!

0
Haileapp

La version actuelle est 4.2.0 :

buildscript {

repositories {
    google()
    jcenter()
}
dependencies {
    classpath 'com.Android.tools.build:gradle:3.4.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    classpath 'com.google.gms:google-services:4.2.0'
}

}

0
xscoder

Vous pouvez faire ceci deux options:

  1. Ajoutez le chemin de classe 'com.google.gms: google-services: 3.2.0' dans votre projet: dépendances build.gradle Et 
  2. Remplacez votre module: build.gradle en dépendance de complile avec la mise en œuvre Et vous ne recevrez aucun message d’avertissement.
0
Jasbin Karki