如何获取Gradle dependencies report(gradle依赖报告)

版权声明:本文为博主原创文章,如需转载请同Joern私信联系。 https://blog.csdn.net/sdsh1880gm/article/details/83153269

这部分内容是之前那个依赖测试包问题看到的答案下面的,有一位大佬梳理了一下这个过程,我在这边翻译一下也供大家参考吧:

步骤1

在项目根目录下执行获取依赖报告的gradle,比如

gradle -q app:dependencies 

详细的可以看这里

这可以提供与该问题有关的以ASCⅡ码呈现的树,它会帮助你判断哪些是有冲突的版本

+--- com.android.support.test:testing-support-lib:0.1 (*)
\--- com.android.support.test.espresso:espresso-contrib:2.0
     +--- com.android.support:recyclerview-v7:21.0.3
     |    +--- com.android.support:support-annotations:21.0.3
     |    \--- com.android.support:support-v4:21.0.3
     |         \--- com.android.support:support-annotations:21.0.3
     +--- com.android.support:support-v4:21.0.3 (*)
     \--- com.android.support.test.espresso:espresso-core:2.0 (*) 

步骤2

根据问题判断你需要替换什么,比如之前那个问题你需要选择有冲突的项(support-annotations)。一些情况下,我会选择错误版本的树(recyclerview-v7),尽管就我所知那也许不是当前问题下的最好的解决方法。

步骤3

添加"exclude"指令来阻塞你在上一个步骤中选择的冲突项

androidTestCompile ('com.android.support.test.espresso:espresso-contrib:2.0') {
    exclude module: 'support-annotations'
}

步骤4

然后就是测试修改的结果了。当然这个可能成功也可能失败~

总结

就是告诉我们了一种方法去获取一些包的依赖信息,这种信息类似一种树,一条依赖路径必须版本一致,如果存在不一致的可以通过exluce指令来阻塞

猜你喜欢

转载自blog.csdn.net/sdsh1880gm/article/details/83153269
今日推荐