扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Android引入多个jar包,冲突问题解决方案(引入jar包,即本地文件) 以引用加载第三方框架中也有okhttp3 okio冲突讲解
创新互联公司成立与2013年,是专业互联网技术服务公司,拥有项目网站制作、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元北林做网站,已为上家服务,为北林各地企业和个人服务,联系电话:13518219792
(PS:如果不知道是那个jar冲突可以用指令gradlew app:dependencies查看)
1.找到项目中的libs-对应冲突的第三方包.jar。
3.用解压工具打开(不是解压,是打开。比如windows下可用360解压打开)。
4.删掉重复引用的包(okhttp3 + okio)。
5.重新打开项目,等待编译。
6.可能出现innerClass mission警告,可以忽略掉,或者clean build。
7.如果还报错的话那么在app build.gradle加入:
packagingOptions {
exclude 'META-INF/proguard/okhttp3.pro'
}
温馨提示:
如果你的项目是因为刚刚添加了某个网络加载依赖导致的,那么你就查看下这个库下的哪一个依赖冲突了,在添加这个依赖的时候把它给过滤掉。具体写法如下。
implementation ('com.***.***:XXX:1.2.0'){ // 所加的第三方框架
exclude module: 'okhttp:3.10.0'
}
//或者要把组名一起添上去
implementation ('com.***.***:XXX:1.2.0'){ // 所加的第三方框架
exclude group: 'com.squareup.okhttp3'
}
Android冲突一般是com.android.support不一致和第三方库的冲突居多,常见解决方法有以下两种
1.统一版本号,在app的build.gradle
```
android {
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details -
def requested = details.requested
if (requested.group =='com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion'27.0.1'
}
}
}
}
}
```
意思是除了multidex之外com.android.support的包版本都统一设置成27.0.1
2.一般设置统一包版本之后,一般是第三方包冲突,还有studio3.0的问题
首先在Terminal运行(提前设置一下gradle环境)
gradle -q dependencies app:dependencies --configuration compile
查看日志阐述的问题能逐个找到答案比如:
google()低版本不兼容问题,改成
maven { url''}
注意:第三方库多的话,建议一个个查问题,不要把全部不兼容高版本的第三方库导入进去,如果一直报奇怪的错误,先删掉app里.build再同步试下,希望能帮助到大家
建议咨询软件提供者了解,也可进入vivo官网--我的--在线客服--输入人工,咨询在线客服反馈。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Copyright © 2002-2023 www.kswjz.com 快上网建站品牌 QQ:244261566 版权所有 备案号:蜀ICP备19037934号
微信二维码
移动版官网