android 如何查看包被那个包依赖

2023-08-21 10:42:35

android stuido 双击ctrl或者点击gradle面板里面最坐车图标  输入 gradle :app:dependencies,这样全部的依赖关系就出来了,你可以仔细查看了

参考链接 Gradle 查看包的依赖关系

Terminal 中可以通过 gradle 的命令查看项目中使用的依赖库及其版本,并且可以更加直观的看到各个模块中库之间的依赖关系。同时也可以跟踪并解决与库版本冲突有关的问题。

工具查看

  1. 在  Android Studio  中选择  View >  Tool Windoors >  Gradle 或者直接选择  Gradle工具栏

  2. 展开AppName > Tasks  > android , 双击  androidDependencies

  3. 选择 View  >  Tool Windows  >  Gradle Console ,查看输出的日志

命令查看

./gradlew :app:dependencies

解释

Window系统下, 直接使用 gradlew
mac系统linux系统 下使用 ./gradlew
执行 app模块  下的 dependencies 的任务
可以额外配置 compile  ,编译环境下的依赖项

输出查询结果

查看依赖库会生成大量内容,并且无法看到全部信息,为了方便查看,将输出信息写入文本文件中

./gradlew :app:dependencies > log.txt

在当前目录下将生成一个 log.txt 文件里面包括所有app project 所依赖 library的所有依赖关系

结果

依赖关系结果列表.jpg

相同的库存在多个版本时, gradle  会自动使用最高版本的库 , 上图中 后面带有  (*)  的库就表示 这个库 有被覆盖过

查看指定库的依赖关系

 ./gradlew :app:dependencyInsight --dependency fastjson --configuration compile

其中  fastjson 代表依赖库

查看其他配置类型

./gradlew dependencies --info


  • 2020-11-17 17:08:28

    用js编写WebAssembly ,WebAssembly 现状与实战

    自从 JavaScript 诞生起到现在已经变成最流行的编程语言,这背后正是 Web 的发展所推动的。Web 应用变得更多更复杂,但这也渐渐暴露出了 JavaScript 的问题:

  • 2020-11-17 17:28:06

    AssemblyScript 开发WebAssembly 教程

    WebAssembly 以及通过 AssemblyScript 的扩展,不会使每个网站都神奇地变得更快,但是这并不重要。 WebAssembly 之所以令人兴奋,是因为它可以使更多的应用在 Web 变得中可行。

  • 2020-11-17 21:15:48

    如何保障 API 接口的安全性?前端如何加密

    一、1. HTTP 请求中的来源识别 二、2. 数据加密 三、3. 数据签名 四、4. 时间戳 五、5. AppID 六、6. 参数整体加密 七、7. 限流 八、8. 黑名单 九、1. 压缩 十、2. 混淆 undefined、3. 加密

  • 2020-11-18 14:34:00

    当你写爬虫抓不到APP请求包的时候该怎么办?

    提示:因为高级篇以后的APP将无法使用很通用的方式处理,每种类型甚至是每个APP的反抓包处理方式都会有差别,所以这个系列以后会以【高级篇-具体类型】的形式来写。

  • 2020-11-21 20:41:51

    Kotlin Sealed class类详解

    Sealed class(密封类) 是一个有特定数量子类的类,看上去和枚举有点类似,所不同的是,在枚举中,我们每个类型只有一个对象(实例);而在密封类中,同一个类可以拥有几个对象。

  • 2020-11-22 20:53:43

    Dagger2之Kotlin写法

    修饰构造方法 修饰变量,在宿主类里,引入要注入的实例

  • 2020-11-22 20:56:13

    Dagger2使用详解

    简单的说,就是一个工厂模式,由Dagger负责创建工厂,帮忙生产instance。遵从Java规范JSR 330,可以使用这些注解。现在不研究Dagger2是如何根据注解去生成工厂的,先来看看工厂是什么东西,理解为什么可以实现了DI(Dependency Injection),如何创建IoC(Inverse of Control)容器。

  • 2020-11-22 21:00:28

    dagger.android--Fragment,BaseFragment

    1 使用Fragment参数来代替Activity参数 2 使用 @FragmentKey来代替@ActivityKey 3 使用HasFragmentInjector来代替@HasActivityInjector 4 AndroidInjection.inject(Fragment)方法,在Fragment的onAttach()中调用,而不是在onCreate()中 5 Fragment的Module添加位置,和Activity是不同的,它取决于Fragment需要的其他依赖注入

  • 2020-11-22 21:12:30

    Dependency Injection with Dagger2,Fragment

    標註@Provides的method若有parameter的話,Dagger會找出其擁有的該型態物件來使用。我們在Module內新增了DataModel將其列入Dagger的管理下,接著在provideFactory()增加parameter變成provideFactory(DataModel dataModel),Dagger就會找出其管理的DataModel給provideFactory使用。