web-dev-qa-db-fra.com

L'API 'variant.getMergeResources ()' est obsolète et a été remplacée par 'variant.getMergeResourcesProvider ()'

Je reçois un avertissement très ennuyeux dans mes projets:

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.
REASON: It is currently called from the following trace:

...

WARNING: Debugging obsolete API calls can take time during configuration. It's recommended to not keep it on at all times.
Affected Modules: app

Comme cet avertissement deviendra une erreur l'année prochaine, je voudrais le réparer une fois pour toutes.

J'ai mis à jour le plugin Gradle, le plugin Google Play Services et toutes les dépendances, mais le problème est toujours là.

Voici le fichier build.gradle Au niveau du projet:

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.4.1'
        classpath 'com.google.gms:google-services:4.3.0'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Et voici le fichier d'application du module build.gradle:

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 28
    buildToolsVersion "28.0.3"

    defaultConfig {
        applicationId "com.foo.bar"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 9
        versionName "1.08"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
    lintOptions {
        checkReleaseBuilds false
        //If you want to continue even if errors found use following line
        abortOnError false
    }
}

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

apply plugin: 'com.google.gms.google-services'

Comme vous pouvez le voir, je n'utilise pas directement getMergeResources(), donc ce doit être l'une des dépendances. J'ai commenté les dépendances une par une et j'ai finalement eu une liste de dépendances vide. Cependant, un avertissement a été lancé. Puis j'ai compris que commenter apply plugin: 'com.google.gms.google-services' Corrige le problème. Mais j'utilise le dernier plugin des services Google et je ne peux évidemment pas utiliser quoi que ce soit lié à Firebase sans lui.

Comment puis-je réparer cela? Je n'aime pas rétrograder le plugin Gradle car ce n'est qu'une solution temporaire.

15
Makalele

Veuillez modifier votre dépendance de chemin de classe au niveau du projet Gradle:

buildscript {

    dependencies {

         classpath 'com.Android.tools.build:gradle:3.1.4'
    }
 }

Je l'utilise. Cela fonctionne bien. Ceci est une version stable. J'espère que ce problème sera résolu dans la future version de cette dépendance.

0
Anupam