Android项目依赖冲突的一个解决办法
说明:
在我使用 citypicker框架的时候,这个框架所附带的依赖与我的项目本身的依赖产生了冲突,并且我的项目并没有升级AndroidX,而它引用了AndroidX。我并不想修改我的项目,就决定将citypicker内的依赖排除,过程如下
使用Gradlew 命令:
1.直接在Android Studio的底部工具栏点击 Terminal
,会自动进入工程根目录。然后输入adb help,查看你有没有配置Terminal
在这一步你有可能提示xx不是内部命令则需要配置用户系统变量:切换到“我的电脑”配置Path--(配置用户Path,配置系统Path会失败)一:新建一个-GRADLE_HOME: C:\Users\计算机名.gradle\wrapper\dists (这里是gradle路径)二:在用户Path后面添加:";%GRADLE_HOME%\bin"三:打开命令行窗口,输入 gradle -v (出现gradle详情即说明配置成功)ps:在 Mac 系统下执行./gradlew ...,在windows 下执行gradle.bat ...。
写的简单,这里有我之前看到的一个教程 Android studio Teminal配置及使用 - 简书
2.一般情况下,gradlew
是没有有可执行权限的,所以需要使用下面的命令增加可执行权限
chmod +x gradlew
3.执行下面的命令就会打印出依赖树
gradlew -q :app:dependencies //“app”为module名称
4.然后ctrl + f 查找你认为有问题的依赖,比如我就知道项目报错是在我引入 citypicker 框架之后
5.找到哪些包有重复引用后,然后使用 exclude
排除掉
eg:在这里我的项目本身引入的是gson2.8.0,citypicker引入的是gson2.8.6;产生了冲突,使Android studio不知道执行哪个版本了,所以我将citypicker中的gson排除了,另外两个是AndroidX的依赖
implementation 'com.google.code.gson:gson:2.8.0' //城市选择器implementation ('com.github.crazyandcoder:citypicker:6.0.2'){exclude group: 'com.google.code.gson', module: 'gson'exclude group: 'androidx.appcompat', module: 'appcompat'exclude group: 'androidx.recyclerview', module: 'recyclerview'}
Android项目依赖冲突的一个解决办法相关推荐
- Ubuntu安装包依赖问题的一个解决办法
Ubuntu类似下面的安装包依赖问题: libc6-dev : 依赖: libc6 (= 2.23-0ubuntu11) 但是 2.27-3ubuntu1 正要被安装 buil ...
- Maven中 jar包冲突原理与解决办法依赖传递
Maven中 jar包冲突原理与解决办法&依赖传递 管理包依赖是 Maven 核心功能之一,下面通过如何引入 jar 包:如何解析 jar 包依赖:包冲突是如何产生:如何解决包冲突:依赖管理解 ...
- Android Studio gradle下载依赖包失败的解决办法
Android Studio gradle下载依赖包失败 的解决办法 使用Android Studio在第一次导入项目或者配置完Kotlin后,会一直Build,因为需要下载一些项目中配置的依赖和gr ...
- eclipse中用maven多模块管理,然后主项目无法调用其他被依赖项目里的方法,解决办法
eclipse中用maven多模块管理,然后主项目无法调用其他被依赖项目里的方法,解决办法 参考文章: (1)eclipse中用maven多模块管理,然后主项目无法调用其他被依赖项目里的方法,解决办法 ...
- gradle下载更新依赖库失败的解决办法 - 依赖库下载加速1000%
gradle下载更新依赖库失败的解决办法 - 依赖库下载加速1000% 现在使用gradle来构建项目的越来越多,通过gradle能更轻松完成项目的依赖以及编译等工作.特别是Google的Androi ...
- Andriod之import android.support.v4或者import android.support.v7提示导入错误解决办法
问题所在原因:少了v4.jar包 解决办法:给项目添加v4.jar包就行 在使用Eclipse开发andriod程序时,程序中提示import android.support.v4.XXX或者impo ...
- ECSHOP中transport.js和jquery的冲突的简单解决办法
ECSHOP中transport.js和jquery的冲突的简单解决办法 一流资源网近日在ECSHOP网站加入了几个JS特效代码,在谷歌.火狐下正常,在各版本IE下都不常,左思不得其解. 最后才知道原 ...
- android studio日志不打印,Mac 下 Android Studio 不打印日志的解决办法
Mac 下 Android Studio 不打印日志的解决办法 Mac 下 Android Studio 不打印日志的解决办法 前言: 在 Mac 下使用 Android Studio 时常会遇到 A ...
- apt-get安装问题:请尝试不指明软件包的名字来运行“apt-get -f install”(也可以指定一个解决办法)。
正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 完成 您可能需要运行"apt-get -f install"来纠正下列错误: 下列的软件包有不能满足的依赖关系: ...
最新文章
- STM32 进阶教程 1 - micropython 移植
- conv2d 公式_TF-卷积函数 tf.nn.conv2d 介绍
- JavaScript实现k-nearest算法(附完整源码)
- mysql数据库永久设置手动提交事务(InnoDB存储引擎禁止autocommit默认开启)
- nginx+php+mysql+haproxy+keepalived+NFS,搭建wordpress
- libco协程库上下文切换原理详解
- ddos流量攻击有多少G_锐速云高防IP 专业防御大流量DDoS攻击
- windows上git clone命令速度过慢问题的解决
- 因缺思汀的绕过——实验吧
- 国际图形学大会(SIGGRAPH)2017届主席竞选答辩是如此场景
- oracle安装失败 主机名_PeopleTool 8.58.04 安装
- Open3D 凸包算法
- VB.NET连接SQL数据库
- jquery复制粘贴
- 游戏角色设计有哪些风格类型
- html中加入点击事件,html中的点击事件
- TypeError: from_buffer() cannot return the address of the raw string within a str or unicode or byte
- JavaWeb实现裁剪图片上传完整代码
- 移动支付“车水码龙”,但也小心“塞翁失码”
- ART-Pi系列文章
热门文章
- android 鼠标隐藏,腾讯手游助手隐藏鼠标 | 手游网游页游攻略大全
- Linux 网络性能的 15 个优化建议
- 专业的百度竞价排名工具
- ARUBA650 WLAN设置密码
- “五个一”信息化平台如何令大象起舞
- pages转换成html,怎么把pages文稿转为HTML?
- Foxit MobilePDF SDK_如何快速创建一个功能丰富的PDF 阅读器
- 碧蓝航线8.20服务器维护,碧蓝航线8月20日更新公告 9点港区改造建设
- cocos2d-js 生成轴对称贝塞尔曲线并沿着曲线移动
- 关于支付宝证书错误 800A138F