Android studio : résoudre l'erreur Unable to resolve dependency for :app@dexOptions/compileClasspath': Could not resolve project :animators / library_Name
Le message d'erreur "Unable to resolve dependency for :app@dexOptions/compileClasspath': Could not resolve project :animators / library_Name" s'affiche lorsque l'outil de construction Gradle n'arrive pas à retrouver les dépendances pour une librairie. Cette erreur peut se produire après une mise à jour d'Android Studio. Pour corriger ce problème, il faut tout d'abord vérifier les paramètres de Gradle et si l'erreur est toujours présente corriger les directives de construction du projet.
Gradle dispose d'un mode "Offline". Lorsque vous activez ce mode, Gradle travaille exclusivement avec les ressources de votre machine pour construire le projet sans télécharger aucune ressource complémentaire. Après une migration, ce mode peut donc provoquer des erreurs car il peut être nécessaire de mettre à jour des dépendances pour construire votre projet. Ouvrez les préférences d'Android Studio en cliquant sur le menu "File" puis "Settings". Si vous travaillez avec un Mac, cliquez sur "Android Studio" puis "Préférences". Dans le panneau de Gauche, dépliez le menu "Build, Execution, Deployment" puis cliquez sur "Gradle". Vous devez alors vous assurer que la case "Offline work" est décochée. Si ce n'est pas le cas, décochez la case, cliquez sur "Appliquer" puis "Ok" et relancez la construction du projet pour voir si le message d'erreur a disparu.
Si le problème n'est pas résolu, alors l'erreur provient de la directive "buildTypes" située dans le fichier "build.gradle" de votre application. Pour être compatible avec la librairie "animators", vous devez rajouter ou modifier la directive "matchingFallbacks". Elle doit indiquer les mêmes types que ceux de la librairie : "release" et "debug".
buildTypes { release { ... } dexOptions { ... // release & debug is in project animators matchingFallbacks = ['release', 'debug'] } debug { ... } }
Si l'erreur est toujours présente après la reconstruction du projet, il existe une solution de contournement. Copiez simplement le contenu de la directive "buidTypes" depuis le fichier "build.gradle" de votre application pour l'appliquer dans tous les modules et librairies de votre projet.
Une autre solution consiste à mettre à jour la directive "distributionUrl" située dans le fichier "gradle-wrapper.properties" pour indiquer la dernière version de Gradle :
distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip