Bazı Android kitaplıklarıma bağlı olarak (Android Studio 3.0 ve 3.1.1 kullanarak) Android uygulamamda da bu sorunu yaşadım.
Bir kitaplığı güncellediğimde ve uygulamaya geri döndüğümde, bir Gradle Sync'i tetiklediğimde, Android Studio kitaplıkta yaptığım kod değişikliklerini algılayamadı. Derleme iyi çalıştı, ancak Android Studio kitaplığı kullanan bazı kodlarda kırmızı hata satırları gösterdi.
Araştırdıktan sonra, bunun gradle'ın kitaplıklarımın eski bir derlenmiş versiyonunu göstermeye devam etmesinden kaynaklandığını anladım. Projenize / .idea / libraries / 'e giderseniz, kitaplıklarınızın derlenmiş sürümüne bağlantı içeren bir xml dosyası listesi görürsünüz. Bu dosyalar Gradle__artifacts _ *. Xml ile başlar (burada * kitaplıklarınızın adıdır).
Dolayısıyla, Android Studio'nun kitaplıklarınızın en son sürümünü alması için, bu Gradle__artifacts _ *. Xml dosyalarını silmeniz gerekir ve Android Studio, kitaplıklarınızın en son derlenmiş sürümüne işaret ederek onları yeniden oluşturacaktır.
"Gradle senkronizasyonu" nu her tıkladığınızda bunu manuel olarak yapmak istemiyorsanız (bunu kim yapmak ister ki ...), bu küçük gradle görevini uygulamanızın build.gradle dosyasına ekleyebilirsiniz.
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()
}
}
}
Ve uygulamanızın bir gradle senkronizasyonu yapmadan önce bu görevi her zaman yürütmesi için, Gradle penceresine gitmeniz, ardından Uygulamanız / Görevler / diğer / altında "deleteArtifacts" görevini bulmanız, sağ tıklamanız ve "Yürüt Senkronizasyondan Önce "(aşağıya bakın).

Şimdi, Gradle senkronizasyonunu her yaptığınızda, Android Studio kitaplıklarınızın en son sürümünü kullanmak zorunda kalacak.