Android Studio 如何知道新的依赖版本?

How does Android Studio know about new dependency versions?

Android Studio 似乎知道何时有更新版本的依赖项。 Maven 存储库具有所有版本,因此它当然可以在那里检查,但它不会对所有依赖项执行此操作。

注意到它适用于 com.google 和 com.android 依赖项,但不适用于其他依赖项。这是为什么?可以配置吗? 对此有任何见解表示赞赏。

Gradle 为您完成。请注意,建议的版本取决于 gradle 版本。如果您使用的是过时的 gradle 版本,您将不会获得这些建议。

如果你想查看所有的deps,你可以使用这个插件https://github.com/ben-manes/gradle-versions-plugin

添加到您的 build.gradle 通话中:

apply plugin: 'com.github.ben-manes.versions'

然后执行任务:

./gradlew dependencyUpdates

在 Android Studio 中,此检查是 Lint 检查的路径。你可以在这里看到它:

https://android.googlesource.com/platform/tools/base/+/master/lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/GradleDetector.java

并且 deps 硬编码在此文件中:

    } else if ("com.google.guava".equals(dependency.getGroupId()) &&
            "guava".equals(dependency.getArtifactId())) {
        version = getNewerRevision(dependency, new PreciseRevision(18, 0));