Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Android Studio查看第三方库依赖树

Android Studio查看第三方库依赖树

原创
作者头像
用户9253515
发布于 2021-12-13 02:33:26
发布于 2021-12-13 02:33:26
2.7K00
代码可运行
举报
文章被收录于专栏:Android开发技术Android开发技术
运行总次数:0
代码可运行

项目的开发过程中,我们或多或少都会引入第三方库,引入的库越多,越容易产生库之间的依赖冲突。

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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)

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

该报错的意思就是:没有

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
into(Landroid/widget/ImageView)

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

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

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

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

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

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

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

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

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

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

方案一: Gradle task工具查看

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

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

3、打印如图所示:

方案二:使用Gradle View插件

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

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

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

如图所示:

方案三:Terminal控制台查看

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gradlew :app:dependencies(“app”为module名称)

MacOS中使用下面的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./gradlew :app:dependencies(“app”为module名称)

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 ./gradlew :app:dependencies --configuration compile

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
   exclude group:'com.android.support'
}

这要就可以把该框架的support包移除啦。

本文转自 https://juejin.cn/post/7039918795242569765,如有侵权,请联系删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android查看第三方库的依赖树汇总
项目的开发过程中,我们或多或少都会引入第三方库,引入的库越多,越容易产生库之间的依赖冲突。
SoullessCoder
2021/12/17
3.8K0
Android查看第三方库的依赖树汇总
Android解决java.lang.NoSuchMethodError: No virtual method into报错问题过程
最近项目中需要接入容联七陌客服系统,接入过程中将容联的Demo作为module添加到项目中,然后添加依赖,过程貌似很顺利,编译也没有问题,可是进入客服界面时,却报了下面的错误:
SoullessCoder
2019/08/07
10.3K0
Android解决java.lang.NoSuchMethodError: No virtual method into报错问题过程
Android Studio导入第三方库的三种方法
今天在项目中使用一个图片选择器的第三方框架——GalleryFinal,想要导入源码,以便于修改,于是上网查找了一下方法,想到之前用到过其他导入第三方库的方法,现在做个小总结,以防忘记。
代码咖啡
2018/08/28
3.2K0
Android Studio导入第三方库的三种方法
android studio 导入第三方库的记录
http://blog.csdn.net/lxk_1993/article/details/50493582
103style
2022/12/19
3360
android studio 导入第三方库的记录
Android中常见的第三方库(so、jar、aar)区别及打包
Android中常见的第三方库包括:*.so、*.jar、*.aar,一般来说.so是C或C++语言的内容打包成的库,由于本项目是java语言,所以此处不探究so。
ZhangXianSheng
2019/05/28
4K0
SDK集成第三方依赖发布Maven的方法
aar引用很简单,将aar复制到libs包下,在项目的build.gradle文件中增加以下代码即可(以aarName.aar为为例):
Anymarvel
2018/12/10
2.4K0
SDK集成第三方依赖发布Maven的方法
Qt如何使用第三方库
通常比较规范的第三方库,有lib和include两个文件夹。lib文件夹就是包含的库文件。include则包含头文件。
用户10551528
2024/08/05
7020
Qt如何使用第三方库
android点击全屏预览照片第三方库使用
移动端我们经常会遇到放大预览照片,如果是一张照片,那就全屏展示图片就好了,但是如果是一个列表,滑动查看,我们一般会借助viewpager进行实现,但是每次自己弄,感觉效率很低,今天给大家推荐一个第三方库,很轻松实现,扩展也还可以哦。
用户2235302
2018/08/10
1.4K0
android点击全屏预览照片第三方库使用
Go:编译时第三方库报错与标准库错误的解决指南
Go 语言以其卓越的性能和高效的开发流程受到了许多开发者的喜爱。然而,在实际的开发过程中,我们可能会遇到一些编译时的问题。本文将深入探讨如何解决在编译 Go 程序时遇到的第三方库报错和标准库错误的问题。
运维开发王义杰
2023/08/21
2.3K0
Go:编译时第三方库报错与标准库错误的解决指南
如何解决Python安装第三方库时遇到的 ERROR: Command errored out with exit status 1 问题
在Python开发中,我们经常需要使用第三方库来扩展功能。然而,在安装某些第三方库时,可能会遇到如下的错误信息:
猫头虎
2025/03/31
3450
pythonpip安装第三方库失败_python安装第三方库失败问题
一、问题描述 相信很多刚开始学习python的同学在安装python第三方库的时候,多多少少都会遇到一些安装失败的问题。下面,我将结合自身经验,分享一下在windows操作系统上此类问题的解决办法。
全栈程序员站长
2022/09/27
9650
教你自己写Android第三方库
其实Android studio的出现很大程度上方便了我们Android开发人员,今天我们说说怎么构建我们自己的库。 依次按File->New Moudle->android Library就好了,这
xiangzhihong
2018/02/05
1.8K0
教你自己写Android第三方库
Android Studio导入第三方类库的方法
Android Studio导入第三方类库的方法 本人也刚刚开始尝试做android app的开发,听说android studio是Google支持的android 应用开发工具,所以想应该肯定比Eclipse好用吧,反正以前没有java开发经验,索性就从android studio开始学,以前一直是做.net的开发,最近使用了Eclipse,Android Studio之后发现Visual studio.net正式太好用了,不得不说微软的开发工具做的比谁都好。下面是我在使用Android Studio应
阿新
2018/04/12
1.8K0
Android Studio导入第三方类库的方法
Android Support 和 AndroidX
0x1、Android Support Library的由来 Android 3.0 (API 11) 为了更好地兼容平板,加入了Fragment,而想让低版本的系统也能用上,需要做一个 向下兼容,于是Android团队推出了Android Support Library。
易寒
2021/12/16
2.5K0
python第三方库的安装方法有哪些_如何安装python的第三方库
在pyhton的学习中,相信大家通常都会碰到第三方库的安装问题,这个问题对于很多初学者而言头疼不已。这里我做一些简单的总结,如何正确高效地安装第三方库,少走弯路(毕竟都是我亲自踩过的坑,所以特地来总结一下,方便以后回顾和总结)!
全栈程序员站长
2022/09/27
2.8K0
python第三方库的安装方法有哪些_如何安装python的第三方库
Android -Gradle依赖导入及相关知识
近期导入了一个项目,因为种种原因始终是失败,各种引入错误,不是这个就是那个,归根到底还是对gradle相关知识不够了解,今天来整理一下。
android_薛之涛
2018/09/11
1.1K0
Android -Gradle依赖导入及相关知识
pycharm无法使用第三方库_python第三方库安装失败
前言:在使用pycharm学习python的时候,经常需要第三方库,没有第三方库程序就会报错,pycharm也会提醒你要安装所需要的库,安装第三方库的时候往往就出现了问题,如图;
全栈程序员站长
2022/09/27
1.6K0
pycharm无法使用第三方库_python第三方库安装失败
Android gradle dependency tree change(依赖树变化)监控实现
这篇文章,其实在一年之前的时候就已经写好了。当时是在公司内部分享的,作为一个监控框架。当时是想着过一段时间之后,分享到技术论坛上面的,没想到计划赶不上变化,过完国庆被裁了。
程序员徐公
2023/09/22
6940
Android gradle dependency tree change(依赖树变化)监控实现
项目中第三方库并不是必须的
我在Lyft的八年间,很多产品经理以及工程师经常想往我们 app 里添加第三方库。有时候集成一个特定的库(比如 PayPal)是必须的,有时候是避免去开发一些非常复杂的功能,有时候仅仅只是避免重复造轮子。
Swift社区
2022/12/12
2750
Android Studio3.1.0升级问题记录
每次升级Android Studio时,一般情况下Gradle版本的也会相应的升级,我之前Android Studio 3.0.1、Gradle 是4.1升级后为:Android Studio 3.1.0、Gradle 为4.4。
程序员飞飞
2020/02/27
9090
Android Studio3.1.0升级问题记录
相关推荐
Android查看第三方库的依赖树汇总
更多 >
LV.0
这个人很懒,什么都没有留下~
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验