web-dev-qa-db-fra.com

Gradle - Erreur Impossible de trouver la méthode implémentation () pour les arguments [com.Android.support:appcompat-v7:26.0.0]

J'essaie d'ouvrir le projet Android existant dans le studio Android et il ne peut pas créer l'application sans l'erreur.

Erreur Android le studio continue de lancer

Error:(74, 1) A problem occurred evaluating project ':app'.
> Could not find method implementation() for arguments 
[com.Android.support:appcompat-v7:26.0.0] on object of type 
org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

Mon code dans build.gradle Ce qui peut aider à comprendre mon problème Mes dépendances

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')

// google & support
implementation "com.Android.support:appcompat-v7:$supportVersion"
implementation "com.Android.support:cardview-v7:$supportVersion"
implementation "com.Android.support:recyclerview-v7:$supportVersion"
implementation "com.Android.support:design:$supportVersion"
implementation "com.Android.support:palette-v7:$supportVersion"
implementation "com.Android.support:customtabs:$supportVersion"
implementation "com.Android.support:support-v4:$supportVersion"
implementation 'com.google.Android.exoplayer:exoplayer:r2.0.4'

// utils
implementation 'com.github.bumptech.glide:glide:4.0.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0'
implementation 'com.koushikdutta.ion:ion:2.1.7'
implementation 'com.github.Commit451:bypasses:1.0.4'
implementation 'com.jakewharton:butterknife:8.8.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.0'
implementation 'com.drewnoakes:metadata-extractor:2.9.1'
implementation "com.orhanobut:hawk:2.0.1"

}

S'il vous plaît aider à résoudre le problème

66
cole

Remplacez compile par implementation.

compile a été récemment obsolète et remplacé par implementation ou api

80
Saurabh Thorat

Assurez-vous que votre version 3 .. ou supérieure avant d'utiliser "implémentation".

Ouvrir le fichier de niveau au niveau du projet sous les dépendances

dependencies{
classpath 'com.Android.tools.build:gradle:3.1.2'
}

open gradle wrapper-properties utilise l'URL de distribution comme

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.Zip

ou dernière version

projet synk, espérons que cela résout votre problème

23
krishnamurthy

Vous devez utiliser au moins Gradle 3.4 ou plus récent pour pouvoir utiliser implementation. Il est déconseillé de continuer à utiliser la méthode obsolète compile car cela peut entraîner des temps de génération plus lents. Pour plus de détails, voir le guide officiel du développeur Android:

Lorsque votre module configure une dépendance d'implémentation, il informe Gradle que le module ne veut pas laisser la dépendance s'affranchir des autres modules lors de la compilation. En d'autres termes, la dépendance n'est disponible pour les autres modules qu'au moment de l'exécution. L'utilisation de cette configuration de dépendance au lieu d'une API ou d'une compilation peut entraîner des améliorations significatives du temps de génération, car elle réduit le nombre de projets que le système de génération doit recompiler. Par exemple, si une dépendance d'implémentation modifie son API, Gradle ne recompile que cette dépendance et les modules qui en dépendent directement. La plupart des modules d'application et de test doivent utiliser cette configuration.

https://developer.Android.com/studio/build/gradle-plugin-3-0-0-migration.html#new_configurations

Mise à jour: compile sera supprimé d'ici fin 2018, assurez-vous donc que vous n'utilisez que implementation maintenant:

Avertissement: La configuration 'compiler' est obsolète et a été remplacée par 'implémentation'. Il sera supprimé fin 2018

21
donfuxx

change apply plugin: 'Java' pour appliquer le plugin: 'Java-library'

Java-library-plugin

3
xiqing lau

Votre code

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')

Le remplacer par

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
1
Saurabh kumar

Tellement ridicule, mais je veux quand même partager mon expérience au cas où quelqu'un tomberait dans la même situation que moi.

Veuillez vérifier si vous avez changé: compileSdkVersion -> implementationSdkVersion par erreur

1
Nguyen Tan Dat

Comme mentionné ici, https://stackoverflow.com/a/50941562/218622 , utilisez le plugin Gradle version 3 ou supérieure en utilisant 'implementation'.

Utilisez également le référentiel google() dans buildscript.

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

Ces changements devraient résoudre le problème.

0
Bot