Ответ 1
Замените compile
implementation
.
compile
недавно устарела и заменена implementation
или api
Я пытаюсь открыть существующий проект андроида в студии 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"
}
Пожалуйста, помогите решить проблему.
Замените compile
implementation
.
compile
недавно устарела и заменена implementation
или api
Убедитесь, что ваша версия 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
или последняя версия
проект синхронизации, надеюсь, это решило вашу проблему
Вам нужно использовать как минимум 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 года
изменить применить плагин: "Java", чтобы применить плагин: "Java-библиотека"
Так смешно, но я все еще хочу поделиться своим опытом на случай, если кто-то попадет в ситуацию, как я.
Пожалуйста, проверьте, если вы изменили: compileSdkVersion
→ implementationSdkVersion
по ошибке
Ваш код
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
Замени это
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
Ошибка ниже: ОШИБКА: не удалось найти реализацию метода() для аргументов [каталог 'libs'] для объекта типа org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
Как уже упоминалось здесь, fooobar.com/info/505375/..., используйте плагин Gradle версии 3 или выше при использовании "реализации".
Также используйте репозиторий google()
в buildscript
.
buildscript {
repositories {
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
}
}
Эти изменения должны решить проблему.