J'ai également eu ce problème avec mon application Android en fonction de certaines de mes propres bibliothèques Android (en utilisant Android Studio 3.0 et 3.1.1).
Chaque fois que je mettais à jour une bibliothèque et que je revenais à l'application, déclenchant une synchronisation Gradle, Android Studio n'était pas en mesure de détecter les modifications de code que j'avais apportées à la bibliothèque. La compilation a bien fonctionné, mais Android Studio a montré des lignes d'erreur rouges sur certains codes utilisant la lib.
Après avoir enquêté, j'ai trouvé que c'est parce que gradle continue de pointer vers une ancienne version compilée de mes bibliothèques. Si vous allez dans votre projet / .idea / bibliothèques /, vous verrez une liste de fichiers xml contenant le lien vers la version compilée de vos bibliothèques. Ces fichiers commencent par Gradle__artifacts _ *. Xml (où * est le nom de vos bibliothèques).
Donc, pour qu'Android Studio prenne la dernière version de vos bibliothèques, vous devez supprimer ces fichiers Gradle__artifacts _ *. Xml, et Android Studio les régénérera, pointant vers la dernière version compilée de vos bibliothèques.
Si vous ne voulez pas faire cela manuellement à chaque fois que vous cliquez sur "Gradle sync" (qui voudrait faire ça ...), vous pouvez ajouter cette petite tâche gradle dans le fichier build.gradle de votre application.
task deleteArtifacts {
doFirst {
File librariesFolderPath = file(getProjectDir().absolutePath + "/../.idea/libraries/")
File[] files = librariesFolderPath.listFiles({ File file -> file.name.startsWith("Gradle__artifacts_") } as FileFilter)
for (int i = 0; i < files.length; i++) {
files[i].delete()
}
}
}
Et pour que votre application exécute toujours cette tâche avant de procéder à une synchronisation de graduation, il vous suffit d'aller dans la fenêtre Gradle, puis de trouver la tâche "deleteArtifacts" sous votreApp / Tâches / autre /, cliquez dessus avec le bouton droit de la souris et sélectionnez "Exécuter Avant la synchronisation "(voir ci-dessous).
Désormais, chaque fois que vous effectuez une synchronisation Gradle, Android Studio sera obligé d'utiliser la dernière version de vos bibliothèques.