Использование новой студии Android с новым подключением 3.0.0 Gradle.
При строительстве возникло какое-то предупреждение:
registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
android
android-studio
gradle
kotlin
android-studio-3.0
Валентин Барышев
источник
источник
Ответы:
Из того, что я могу сказать, плагины, добавленные как зависимости пути к классам, создадут проблемы. Т.е. у Firebase была проблема с этим. Ложка и флаттер . Выполнение этого поиска в Google выявляет множество репозиториев GitHub с проблемой, поднятой из-за одной и той же вещи, и их объединяет только то, что это плагин Gradle. Ткань, кажется, также является причиной, как упомянуто Мате *
Из того, что я могу сказать, проблема возникает из / несколько плагинов Gradle. Это также может быть вызвано вашим кодом Gradle, но это, скорее всего, не применимо, если ваш проект является приложением, а не плагином Gradle.
И, как упомянул в своем комментарии Алекс Кон , осуждение является предупреждением. В данном случае это означает, что эта функция будет удалена в конце концов. Итак, пока, предполагая, что это плагин (а не сделан вами), вы можете игнорировать его. Ко времени удаления большинство / все основные плагины должны быть обновлены, чтобы исправить это.
И, опять же, это предупреждение; не ошибка Вы все еще можете запустить его и игнорировать, если вы ничего не можете сделать с этой проблемой. Например, отключение плагина Fabric * излишне, так как он все еще работает.
Я сам не использую Fabric, а Fabric не с открытым исходным кодом, поэтому я не знаю, исправили ли разработчики это или нет
TL; DR: плагины Gradle являются причиной. Это предупреждение (не ошибка), поэтому удаление плагинов, вызывающих проблему, является излишним. Если вы не можете это исправить, оставьте это в покое, пока это только устарело в данный момент (не удалено)
Если вы используете Firebase, есть конкретное решение, которое также упоминается в руководстве по миграции (ссылка приведена далее в этом посте); исключить модуль гуавы
Саму проблему довольно сложно обнаружить. Из того, что я могу сказать, нет ни одной проблемы, которая бы вызывала ее во всех плагинах, которые я проверял (и ссылался в этом ответе). Если вы написали что-то, что вызывает проблему (и это можно исправить; добавление стороннего подключаемого модуля gradle не вызывает этого), есть некоторые вещи, которые вы можете попытаться исправить.
Исходя из того, что я могу сказать по фактической причине, это решается путем обновления файла Gradle (хотя в библиотеке Spoon это было исправлено путем изменения строки, связанной с
TestVariant
), следуя темам в руководстве по миграции подключаемого модуля Gradle 3.0.0.Все это покрыто документами для разработчиков , но вот некоторые вещи, которые, на мой взгляд, имеют отношение к запросам на получение, выполненным в проектах, где это было проблемой:
Помимо обновления версии и плагина Gradle, вам также необходимо добавить
google()
репо вrepositories
.compile
сейчасimplementation
илиapi
, ноimplementation
рекомендуется.provided
естьcompileOnly
иapk
естьruntimeOnly
androidTestCompile
сталandroidTestImplementation
, иtestCompile
->testImplementation
Если вы используете ароматизаторы, вы должны использовать размеры ароматизаторов (указанные в документации).
Для типов сборки вы должны включить запасные варианты на случай, если есть библиотека, у которой нет этого типа сборки. Они определены в
profile
блоке подandroid
блоком.Если это еще не сделано, плагин Gradle должен быть определен первым. Если у вас нет других зависимостей пути к классам, это не проблема. Но если вы это сделаете, убедитесь, что плагин gradle определен первым.
Если вы используете
testVariants
, убедитесь, что вы не звонитеtestedVariant
в классе. Кажется, это причина для библиотеки Spoon.Эти вещи, насколько я могу судить, являются некоторыми изменениями, которые были внесены для устранения проблемы.
источник
Я использую плагин Play Services Gradle
com.google.gms:google-services
с версией4.2.0
.В исходном коде мы видим, что:
Так что для меня это было причиной моих предупреждений и не может быть удалено, пока плагин не будет исправлен. Вопрос здесь
Как уже упоминалось @Zoe, это может происходить и от других плагинов Gradle.
Лучший
источник
Проблема решена с помощью плагина Google Services версии 4.3.0 (решена с помощью этого коммита )
Нашел здесь
источник
Обновление до последней версии Fabric Gradle Plugin устраняет эту проблему.
Из журнала изменений:
https://docs.fabric.io/android/changelog.html#march-15-2018
источник
В моем случае это было вызвано несовпадением версий библиотек поддержки Android. Я обновил все модули до последней версии (28.0.0), и это решило эту проблему.
источник
После правильной установки Fabric эта проблема была решена для меня
build.gradle
источник
У меня было это сообщение об ошибке и много других, как
x-version is deprecated and use y-version instead and it'll be removed in 2019
и весь мой проект начал давать те же сообщения об ошибках внезапно.
Студия Android давала предупреждения о моей антивирусной программе. Я попытался настроить его, но не сработало.
Наконец я удалил антивирус QuickHeal из своей системы и теперь все в порядке
источник
Все остальные ответы касаются проблем со сторонними компонентами .
Вот как обновить ваш проект, который использует
registerResGeneratingTask
напрямую:Перед:
После:
источник
Уровень проекта Build.Gradle
Используйте следующую версию зависимости служб Google.
Решенный вопрос для меня.
источник
Для меня это предупреждение исчезло, когда я отключил плагин Fabric Gradle. O Пожалуйста, проверьте, используете ли вы Fabric или другой плагин, который я ответственный за это предупреждение.
источник
com.google.gms:google-services
4.0.1
И4.0.2
оба вызывают это предупреждение.