Конфигурация «компилировать» устарела, но все конфигурации являются «реализацией».

Я получаю следующее предупреждение при выполнении gradle в Android:

Configuration 'compile' in project ':app' is deprecated.

Но все мои зависимости включены через конфигурацию реализации. (И модули тоже) Есть ли какие-то «невидимые» зависимости в gradle?

Вот мой основной файл сборки сборки: https://pastebin.com/ZJe7zrwn


person Valentin Baryshev    schedule 15.11.2017    source источник
comment
я получаю ту же ошибку. Вы получили какое-либо решение?   -  person Harish Mahajan    schedule 22.11.2017
comment
Пришел сюда в поисках ответа, а затем действительно нашел. Оказалось, что это просто найти и заменить.   -  person danny117    schedule 07.04.2018


Ответы (4)


Я нашел это рабочее решение при компиляции моего кода сегодня. (Когда все implementation и ничего compile в твоем build.gradle)

Ошибки:

 1. Configuration 'compile' in project ':app' is deprecated 
 2. registerResGeneratingTask is deprecated, use registerGeneratedFolders (FileCollection)

Решение:

Мне нужно было обновить мой Project: build.gradle

из

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

to

classpath 'com.google.gms:google-services:3.2.0'
person Rohit Sharma    schedule 15.03.2018

Есть ли невидимые зависимости в gradle?

Я не знаю, виноват ли он в этой проблеме, но плагины могут добавлять зависимости, и в частности com.google.gms.google-services делает:

Плагин google-services имеет две основные функции: ...

  1. Добавьте зависимости для базовых библиотек, необходимых для включенных вами служб.
person Alexey Romanov    schedule 15.11.2017
comment
Есть ли способ подтвердить, что этот плагин генерирует предупреждение? - person Pablo Alfonso; 01.04.2018

заменить в пути ctrl+shift+R

Выберите проект найти фрагмент фрагмента

введите «предоставлено», замените на «compileOnly» или замените «compile» на «implementation», убедитесь, что вы меняете только файлы gradle.build. Если у вас есть некоторая тревога, просто откройте файлы gradle.build и отредактируйте их.

градусный фрагмент

person danny117    schedule 07.04.2018
comment
Спасибо, действительно, мне нужно было удалить операторы "компиляции" и оставить только операторы "реализации", поскольку оба compile/testCompile устарели. - person michael_demonio; 29.01.2021

Я думаю, вы получили предупреждение, потому что вы используете,

compileOnly "org.glassfish:javax.annotation:10.0-b28"

здесь дается лучшее объяснение,

Реализация Android Gradle и производительность CompileOnly

person Kishan Donga    schedule 15.11.2017
comment
compileOnly не устарел - person Gabriele Mariotti; 15.11.2017
comment
заменил compileOnly реализацией и по-прежнему получаю это предупреждение - person Valentin Baryshev; 15.11.2017