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'
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值