Gradle - Ошибка Не удалось найти метод реализации() для аргументов [com.android.support:appcompat-v7:26.0.0]

Я пытаюсь открыть существующий проект андроида в студии android и gradle не может создать приложение без ошибки

Ошибка андроидной студии продолжает бросать

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.

Мой код в build.gradle, который может помочь понять мою проблему Мои зависимости

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"

}

Пожалуйста, помогите решить проблему.

Ответ 1

Замените compile implementation.

compile недавно устарела и заменена implementation или api

Ответ 2

Убедитесь, что ваша версия Gradle 3.. или выше, прежде чем использовать "реализацию".

Откройте файл Gradle уровня проекта под зависимостями

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

Свойства-оболочки open gradle используют URL-адрес распределения как

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

или последняя версия

проект синхронизации, надеюсь, это решило вашу проблему

Ответ 3

Вам нужно использовать как минимум Gradle 3.4 или новее, чтобы иметь возможность использовать implementation. Не рекомендуется продолжать использовать устаревшую compile так как это может привести к снижению времени сборки. Для более подробной информации смотрите официальное руководство разработчика Android:

Когда ваш модуль конфигурирует зависимость реализации, он сообщает Gradle, что модуль не хочет передавать зависимость другим модулям во время компиляции. То есть зависимость доступна для других модулей только во время выполнения. Использование этой конфигурации зависимостей вместо API или компиляции может привести к значительному улучшению времени сборки, поскольку это уменьшает количество проектов, которые система компиляции должна перекомпилировать. Например, если зависимость реализации меняет свой API, Gradle перекомпилирует только эту зависимость и модули, которые напрямую зависят от нее. Большинство приложений и тестовых модулей должны использовать эту конфигурацию.

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

Обновление: compile будет удалена к концу 2018 года, поэтому убедитесь, что вы используете только implementation сейчас:

Предупреждение: конфигурация 'compile' устарела и была заменена на 'реализация'. Он будет удален в конце 2018 года

Ответ 5

Так смешно, но я все еще хочу поделиться своим опытом на случай, если кто-то попадет в ситуацию, как я.

Пожалуйста, проверьте, если вы изменили: compileSdkVersionimplementationSdkVersion по ошибке

Ответ 6

Ваш код

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

Замени это

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

Ответ 7

Ошибка ниже: ОШИБКА: не удалось найти реализацию метода() для аргументов [каталог 'libs'] для объекта типа org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

Ответ 8

Как уже упоминалось здесь, fooobar.com/info/505375/..., используйте плагин Gradle версии 3 или выше при использовании "реализации".

Также используйте репозиторий google() в buildscript.

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

Эти изменения должны решить проблему.