Saya juga mengalami masalah ini dengan aplikasi Android saya tergantung pada beberapa pustaka Android saya sendiri (menggunakan Android Studio 3.0 dan 3.1.1).
Setiap kali saya memperbarui lib dan kembali ke aplikasi, memicu Sinkronisasi Gradle, Android Studio tidak dapat mendeteksi perubahan kode yang saya buat ke lib. Kompilasi berfungsi dengan baik, tetapi Android Studio menunjukkan garis kesalahan merah pada beberapa kode menggunakan lib.
Setelah menyelidiki, saya menemukan bahwa itu karena gradle terus menunjuk ke versi lama terkompilasi dari libs saya. Jika Anda pergi ke yourProject / .idea / libraries / Anda akan melihat daftar file xml yang berisi link ke versi terkompilasi dari libs Anda. File ini dimulai dengan Gradle__artifacts _ *. Xml (dengan * adalah nama libs Anda).
Jadi agar Android Studio mendapatkan versi terbaru libs Anda, Anda perlu menghapus file Gradle__artifacts _ *. Xml ini, dan Android Studio akan membuatnya kembali, dengan menunjuk ke versi terkompilasi terbaru dari lib Anda.
Jika Anda tidak ingin melakukannya secara manual setiap kali mengeklik "Gradle sync" (siapa yang ingin melakukannya ...), Anda dapat menambahkan tugas gradle kecil ini di file build.gradle aplikasi Anda.
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()
}
}
}
Dan agar aplikasi Anda selalu menjalankan tugas ini sebelum melakukan sinkronisasi gradle, Anda hanya perlu membuka jendela Gradle, lalu temukan tugas "deleteArtifacts" di bawah Aplikasi / Tasks / other /, klik kanan padanya dan pilih "Execute Sebelum Sinkronisasi "(lihat di bawah).

Sekarang, setiap kali Anda melakukan sinkronisasi Gradle, Android Studio akan dipaksa untuk menggunakan versi terbaru libs Anda.