如何在Android中获取所有的依赖库?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
方式一:通过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有较深的理解。
看完上述内容,你们掌握如何在Android中获取所有的依赖库的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。