Как убрать предупреждение «ПРЕДУПРЕЖДЕНИЕ: API 'option.getMergeResources ()' устарел» после обновления плагина службы Google? - PullRequest
2 голосов
/ 03 июля 2019

Я обновил свой плагин google-services до версии 4.3.0

И когда я синхронизирую свой проект, я получаю следующее предупреждение.

 WARNING: API 'variant.getMergeResources()' is obsolete and has been replaced with 'variant.getMergeResourcesProvider()'.
 It will be removed at the end of 2019.
 For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
 To determine what is calling variant.getMergeResources(), use -Pandroid.debug.obsoleteApi=true on the command line to display more information.
 Affected Modules: app

Как исправить это предупреждение?

1 Ответ

1 голос
/ 03 июля 2019

Это предупреждение создается некоторой библиотекой или плагином, который вы использовали в качестве зависимости, который не обновлялся до более нового API в качестве состояния предупреждения. Если вы хотите обнаружить, включите в файл gradle.properties вашего проекта:

android.debug.obsoleteApi=true

Как указывается в официальной ссылке на функции Gradle , это поможет вам определить, где используется этот устаревший API. Отключите плагин (ы), которые вы найдете в журнале, и ошибка должна исчезнуть.

Однако, пожалуйста, создайте проблему для этой библиотеки в репозитории Github, поэтому, если вы включите это предупреждение в Google, вы увидите множество библиотек GitHub с открытыми проблемами с таким предупреждением ( Google AR Sceneform Android SDK , Флаттер , GreenDAO и многие другие). Тогда им решать, как это исправить. Надеюсь, это поможет!

Специальное примечание : если вы используете фабрику / крашлитс, вы, скорее всего, увидите это предупреждение. Убедитесь, что вы используете обновленные, как подсказывает fix для закрытого выпуска, обновление classpath и gradle должно убрать предупреждение:

buildscript {
    //..
    dependencies {
        //..
        classpath 'io.fabric.tools:gradle:1.28.0'
    }
}
...