时间:2021-05-19
当项目越来越大的时候,依赖的库也越来越多,再加上aar的传递依赖,导致dependency的急速膨胀。我们可以通过如下几种方式,查看项目依赖的所有库(包含直接依赖和间接依赖)。
方式一:通过dependencies命令
./gradlew :app:dependencies
该task会显示如下所示的输出:
输出列表展示了所有configuration下的依赖树,依赖关系明显,层次清晰。如果觉得输出的结果太冗长(通常情况下包含几十个configuration),可以通过指定configuration来显示特定的依赖树:
./gradlew :app:dependencies --configuration releaseCompileClasspath
该命令只会显示release模式下编译过程中的依赖树。
方式二: 通过androidDependencies命令
./gradlew :app:androidDependencies
输出结果如下:
如图所示,该task会平铺展示依赖树,并且只展示几个主要的variant,看起来较为清爽,但是缺点是不能像方式一那样指定configuration。
方式三:自定义task获取
project.afterEvaluate { project.android.applicationVariants.all { variant -> tasks.create(name: "showDependencies${variant.name.capitalize()}", description: "展示所有依赖") { doLast { Configuration configuration try { // 3.x configuration = project.configurations."${variant.name}CompileClasspath" } catch (Exception e) { // 2.x configuration = project.configurations."_${variant.name}Compile" } configuration.resolvedConfiguration.lenientConfiguration.allModuleDependencies.each { def identifier = it.module.id println("${identifier.group}:${identifier.name}:${identifier.version}") } } } }}如上,通过这种自定义task的方式,可以选择打印依赖,也可以选择保存到文件中,灵活度最高。
总结:
方式一:通用task,按层次展示依赖树,可以通过指定configuration来过滤输出。
方式二:android项目特有的task,平铺展示依赖树,不能过滤输出结果。
方式三:自定义task获取依赖,灵活度最高,但是需要对gradle有较深的理解。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Android实现获取手机里面的所有图片详解及实例实现代码:publicclassMainActivityextendsActivity{//查看图片按钮pri
Android全局获取Context实例详解在弹出Toast启动活动发送广播操作数据库使用通知等等时都需要Context如果操作在活动中进行是很简单的,因为活动
Android获取arrays.xml里的数组字段值实例详解比如在arrays.xml里:RebootRecoveryBootLoader在代码里获取:Stri
参考文章Android中实时获取音量分贝值详解:http://www.zzvips.com/article/64806.htm?1234567891011121
详解maven的pom.xml用解决版本问题用maven管理库依赖,有个好处就是连同库的依赖的全部jar文件一起下载,免去手工添加的麻烦,但同时也带来了同一个j