Gradle 依赖关系树中星号和箭头符号的含义

我已经运行命令来获取Gradle依赖关系树gradlew

gradlew.bat 应用:依赖项

在输出上,我得到了与每个依赖项附加的不同类型的符号:

 com.twotoasters.servos:util-otto:1.0.0
 com.squareup.okhttp:okhttp:2.4.0 (*)
 com.android.support:recyclerview-v7:23.2.0 -> 25.0.0

有些依赖项没有任何符号,有些依赖项带有 和 。
这些符号是什么意思?(*)->

我试图搜索这个,但未能找到任何帮助。


答案 1

(*)位于依赖项旁边,依赖项已通过其他项目导入,从而导致重复。

在输出的末尾,您可以看到以下内容:./gradlew :app:dependenciesenter image description here

->位于依赖项旁边,依赖项已通过其他项目导入,但版本较新。Gradle会更喜欢较新的版本。

因此,这意味着,该版本已经导入,但特别是该工件依赖于旧版本。com.android.support:recyclerview-v7:23.2.0 -> 25.0.025.0.023.2.0

参见Egor Andreevici在Droidcon Italy 2017的“充分利用你的Gradle Builds”演讲中的解释。


答案 2

->意味着从版本到它在离线模式下运行gradle时很有用,因此它将使用第一个可用的缓存版本,我不确定,但我认为它是用于下载和编译以下所有库系列(核心等)的,并且还有使用的版本代码,它将使用可用的最新版本23.2.025.0.0(*)+


推荐