私自身のAndroidライブラリ(Android Studio 3.0および3.1.1を使用)によっては、このAndroidアプリにもこの問題がありました。
ライブラリを更新してアプリに戻り、Gradle Syncをトリガーすると、Android Studioは、ライブラリに加えたコードの変更を検出できませんでした。コンパイルは正常に機能しましたが、Android Studioは、libを使用する一部のコードで赤いエラー行を示しました。
調査の結果、gradleが私のコンパイル済みの古いバージョンのライブラリを指し続けていることが原因であることがわかりました。yourProject / .idea / libraries /に移動すると、コンパイルされたバージョンのライブラリへのリンクを含むxmlファイルのリストが表示されます。これらのファイルはGradle__artifacts _ *。xmlで始まります(*はライブラリの名前です)。
したがって、Android Studioが最新バージョンのライブラリを取得するためには、これらのGradle__artifacts _ *。xmlファイルを削除する必要があります。そうすると、Android Studioはそれらを再生成し、最新のコンパイル済みバージョンのライブラリをポイントします。
「Gradle sync」をクリックするたびに手動でそれを実行したくない場合(だれがそうしたいのか...)、この小さな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は最新バージョンのライブラリを使用するように強制されます。