또한 내 Android 라이브러리 중 일부 (Android Studio 3.0 및 3.1.1 사용)에 따라 Android 앱에서이 문제가 발생했습니다.
lib를 업데이트하고 앱으로 돌아가서 Gradle Sync를 트리거 할 때마다 Android Studio는 lib에 대한 코드 변경 사항을 감지 할 수 없었습니다. 컴파일은 잘 작동했지만 Android Studio는 lib를 사용하는 일부 코드에서 빨간색 오류 줄을 표시했습니다.
조사한 후 gradle이 내 라이브러리의 이전 컴파일 버전을 계속 가리 키기 때문이라는 것을 알았습니다. yourProject / .idea / libraries /로 이동하면 컴파일 된 libs 버전에 대한 링크가 포함 된 xml 파일 목록이 표시됩니다. 이러한 파일은 Gradle__artifacts _ *. xml로 시작합니다 (여기서 *는 libs의 이름).
따라서 Android Studio가 최신 버전의 libs를 가져 오려면 이러한 Gradle__artifacts _ *. xml 파일을 삭제해야합니다. 그러면 Android Studio가 해당 파일을 다시 생성하여 최신 컴파일 된 libs 버전을 가리 킵니다.
"Gradle 동기화"를 클릭 할 때마다 수동으로 수행하고 싶지 않은 경우 (누가 원하는 작업 ...),이 작은 gradle 작업을 앱의 build.gradle 파일에 추가 할 수 있습니다.
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()
}
}
}
그리고 앱이 gradle 동기화를 수행하기 전에 항상이 작업을 실행하려면 Gradle 창으로 이동 한 다음 yourApp / Tasks / other /에서 "deleteArtifacts"작업을 찾아 마우스 오른쪽 단추로 클릭하고 "실행 동기화 전 "(아래 참조).
이제 Gradle 동기화를 수행 할 때마다 Android Studio는 최신 버전의 libs를 사용해야합니다.