Android Studio查看第三方库依赖树

这篇具有很好参考价值的文章主要介绍了Android Studio查看第三方库依赖树。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Android开发过程中,我们或多或少都会引入第三方库,引入的库越多,越容易产生库之间的依赖冲突,所以我们今天一起来了解Android Studio查看第三方库依赖树。

下面就拿我遇到的问题还原一下:

之前接人容联客服系统的时候,集成完成后进入客服页面发生闪退,我们回顾一下错误信息:

Android Studio查看第三方库依赖树

我们关键看一下报错代码:

java.lang.NoSuchMethodError: No virtual method into (Landroid/widget/ImageView;)Lcom/bumptech/glide/request/target/Target; in class Lcom/a/a/i; or its super classes (declaration of 'com.a.a.i' appears in/data/app/com.sami91sami.h5-1/base.apk)

我们可以根据报错,跳到报错的地方:

Android Studio查看第三方库依赖树

该报错的意思就是:没有

into(Landroid/widget/ImageView)

的方法,代码能编译通过,说明项目中肯定是添加依赖了,那怎么还会报这个错误呢?还没添加依赖之前,项目中也是使用的Glide进行图片的加载,会不会是项目中的Glide与容联Demo中的Glide有冲突呢。

我们可以根据报错的地方into方法,点进入看源码:

Android Studio查看第三方库依赖树

可以看到容联Demo使用的Glide版本是3.7.0。

再来看看项目中Glide使用的版本:

Android Studio查看第三方库依赖树

可以看到项目中使用的Glide版本是4.5.0。

这时就想到真的很大概率是两者的Glide版本有冲突了。

果然将容联Demo中的Glide版本改成4.5.0之后,编译运行进入客服界面后,没有报错了,完美解决。

这就是我之前遇到的库冲突的问题,这个问题有错误信息可以定位到是Glide库依赖的问题,要是遇到其它错误信息没那么显著的,那是不是就头疼了呢。

当时遇到这个问题,我并没有使用查看依赖树的方式,而是直接查看了源码,因为当时我并不知道还能这么干,幸运的是很快就定位到了问题所在,所以当我们升级第三方库或者引入新的第三方库时,库与库之间依赖冲突,我们需要知道每个第三方依赖库的依赖树,知道依赖树就清楚哪里冲突啦。

下面就记录下几种查看依赖树的方式:

方案一: Gradle task工具查看

1、点击Android studio面板右上角“Gradle”,如图所示:

Android Studio查看第三方库依赖树

2、按照如图目录找到dependencise双击,会在Run控制台输出打印,如图所示:

Android Studio查看第三方库依赖树

3、打印如图所示:

Android Studio查看第三方库依赖树

方案二:使用Gradle View插件

1、快捷键Ctrl+Alt+s,打开settings,然后点击按钮Plugins

Android Studio查看第三方库依赖树

2、搜索 Gradle View,然后安装,并重启Android Studio,我这是已经安装成功后的截图

Android Studio查看第三方库依赖树

3、点击菜单栏上View -> Tool Windows -> Gradle View,然后等待一会,就可以查看了。

Android Studio查看第三方库依赖树

如图所示:

Android Studio查看第三方库依赖树

方案三:Terminal控制台查看

在windows上Android studio Terminal中使用这个命令:

gradlew :app:dependencies(“app”为module名称)

在MacOS中使用下面的命令:

./gradlew :app:dependencies(“app”为module名称)

这个命令会将gradle执行的各个步骤都打印出来,包括releaseUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseRuntimeClasspath,releaseCompileClasspath,lintClassPath,debugUnitTestRuntimeClasspath等等。

那么,我们可以配置configuration 参数只查看其中一个的依赖树就够了。

 ./gradlew :app:dependencies --configuration compile

在Window系统下,无需使用./开头,直接使用gradlew即可。

执行app模块下的dependencies任务;额外配置compile,编译环境下的依赖项。

Android Studio查看第三方库依赖树

通过查看依赖树,我们就能看到哪些依赖有冲突,比如某个框架的support包冲突,只要在moudle的gradle文件下找到该冲突的依赖用括号括住,在后面加:

{
   exclude group:'com.android.support'
}

这要就可以把该框架的support包移除啦。文章来源地址https://www.toymoban.com/news/detail-478521.html

到了这里,关于Android Studio查看第三方库依赖树的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android Studio 如何连接第三方模拟器(如:雷电、MuMu)

    一、基础软件信息: 1.Android Studio的版本信息:  2.第三方模拟器版本信息,以MuMu为例演示:  二、实操部分 1.同时打开AS 和 模拟器(mum),如图: 2.找到mum在电脑上的安装的径,然后在此路径下打开DOS窗口。具体的操作如下: a.在桌面上找到模拟器的启动图标; b.鼠标右键

    2024年02月15日
    浏览(38)
  • android使用fat-aar打包,本地aar和第三方依赖库以及遇到的问题

    需要把有个模块打包成aar,直接打包的话,模块中引用的jar、aar、第三方依赖库都不会打包进去。直接生成的aar缺少内部引用的以来,所以要用到fat-aar来把模块中用到的依赖也打包进去。 1.首先在项目的gradle加入 2.在repositories加入 3. 在需要打包aar的build.gradle中加入 4.第三方

    2024年02月15日
    浏览(33)
  • Android开发:通过Tesseract第三方库实现OCR

    一、引言         什么是 OCR ?OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。简单地说,OCR是一种技术,该项技术采用光学的

    2024年02月16日
    浏览(33)
  • 如何获取第三方maven依赖信息?

     依赖信息查询方式:       1. maven仓库信息官网 https://mvnrepository.com/       2. mavensearch插件搜索 访问可能会比较慢  搜索你想要查找的依赖  点击你想要查找的依赖  打开是这个界面,点击对应版本号  复制底部的maven依赖即可 file-settings  settings-plugins(插件)  下载mave

    2024年02月09日
    浏览(31)
  • CMake Install 安装第三方依赖库

    cmake 提供 install 命令来安装文件,方便打包。但是有时也会对第三方依赖库有需求一起打包,在不确定第三方库dll文件路径和名称的情况下,需要另一种方式来打包了。 比如想要打包opencv_world.dll,一般cmake依赖opencv的方式是通过第三方软件包(* -config.cmake)的方式: 那么在

    2024年02月14日
    浏览(27)
  • 打包jar服务,如何提取第三方依赖包

    很多时候有这个需求,编译源码的时候无法联网,需要把源代码和依赖包一起离线用。 那么怎么把可以联网的工程依赖包,下载后提供给无网环境用呢。war的很多时候是默认提供好的,那么maven打包jar包服务的,assembly.xml 配置需要增加以下内容: 再执行maven打包就可以了。所

    2024年01月25日
    浏览(34)
  • 本仓库主要用来收集一些 Android 开发中常用的第三方 UI 库及其简单 Demo

    | 第三方库 | 介绍 | Demo | 使用说明 | | — | — | — | — | | CircleImageView | 显示圆形图片 | CircleImageViewDemo | Android UI Libs 之 CircleImageView.md | | android-gif-drawable | 显示 gif 图片 | android-gif-drawabledemo | Android UI Libs 之 android-gif-drawable.md | | AndroidSwipeLayout | 滑动布局,可以实现侧滑菜单与侧

    2024年04月15日
    浏览(38)
  • Python之离线安装第三方库(依赖包)

    在一些服务器上,我们搭建完Python环境之后,因为服务器的网络限制原因,不能直接通过pip命令 下载安装 Python的依赖包。 因此,我们需要在可以正常上网的服务器上 下载 好所需的依赖包文件,然后拷贝到目标服务器,通过pip命令在目标服务器上进行 安装 。 requirements.txt文

    2024年02月06日
    浏览(35)
  • 离线安装Python第三方库及依赖包

    在工作中经常需要在内网环境中安装python第三方库,使用从pypi上下载的whl文件来安装又经常遇到该库也需要依赖包,以至于并不能成功安装。 (1)查看所需第三方库安装是否需要依赖库(以requests为例) (2)使用命令将库及依赖包下载到本地(以requests为例) (3)将下载

    2024年02月13日
    浏览(32)
  • DependencyCheck+Jenkins扫描JAVA第三方依赖(CVE)漏洞

    原理说明:首先使用DependencyCheck更新漏洞库到本地,然后DependencyCheck扫描扫描项目,得到一个json报告,然后再使用json报告填充我们的自定义模板,最后输出填充后的模板为漏洞报告。至于jenkins只是最后帮我们实现全自动扫描、输出的一个工具而已。 1、DependencyCheck是什么

    2024年02月04日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包