1.问题出现

引入了一个jar包,jar包中有okhttp3,但是我引入的其他依赖中也有okhttp3,所以就出现了Duplicate class okhttp3...的错误

密密麻麻看着都头疼,其实这个问题就是重复引用,在谷歌换了各种关键词,找出出现最为频繁的几个方案列出来:

方案1:compileOnly files('libs/***.jar')

结果:仅能保证编译通过,但compileonly等修饰的库不会一块打包进APK

方案2:增加packagingOptions(点击这里查看)

android {...packagingOptions {exclude 'META-INF/DEPENDENCIES'exclude 'META-INF/LICENSE'exclude 'META-INF/LICENSE.txt'exclude 'META-INF/license.txt'exclude 'META-INF/NOTICE'exclude 'META-INF/NOTICE.txt'exclude 'META-INF/notice.txt'exclude 'META-INF/ASL2.0'exclude("META-INF/*.kotlin_module") }//或者packagingOptions {resources.excludes.add("META-INF/*")}
}

结果:无效

方案3:添加configurations(点击这里查看)

dependencies {implementation(name: 'xxx', ext: 'jar') {exclude module: 'okhttp3'}
}

结果:无效

方案4:在android标签下添加configurations(点击这里查看)

android {...configurations {all*.exclude group: 'com.squareup.okhttp3', module: 'okhttp'}
}

结果:成功

总结:

谷歌换了很多关键词搜索,搜索出来的答案反反复复就那么几个,也许其他方案对别人有效,也许是我的配置信息有问题,但是最无奈的还是抄答案这种行为,有些解决方案的文档写的非常模糊,甚至格式都写得很凌乱,也没有贴出原答案的出处,这让原本不富裕的时间雪上加霜。

Duplicate class okhttp3...相关推荐

  1. Retrofit、ButterKnife、Glide学习记录

    今天是1024程序员节,发篇草稿箱里的博客庆祝下 Retrofit初体验 ButterKnife初体验 配置依赖 初步使用 Data Binding Glide初体验 初步使用 其他配置 Retrof ...

  2. Static interface methods are only supported starting with Android N (--min-api 24): void okhttp3.log

    错误内容如下 Error: Static interface methods are only supported starting with Android N (--min-api 24): vo ...

  3. 在okhttp3,WebView中忽略HTTPS证书校验

    在APP开发过程中,后台使用的可能是自签的Https证书,如果不忽略证书校验,会出现Trust anchor for certification path not found的错误 Okhttp3忽略 ...

  4. android get请求最长字符,Android OKHTTP3的GET和POST方法(带basic auth)

    使用前需要在Gradle Script中的build gradle中引入: compile 'com.squareup.okio:okio:1.13.0' compile 'com.squareup. ...

  5. LeetCode刷题记录2——217. Contains Duplicate(easy)

    LeetCode刷题记录2--217. Contains Duplicate(easy) 目录 LeetCode刷题记录2--217. Contains Duplicate(easy) 题目 语言 思 ...

  6. Java封装OkHttp3工具类

    点击关注公众号,Java干货及时送达  作者:如漩涡 https://blog.csdn.net/m0_37701381 Java封装OkHttp3工具类,适用于Java后端开发者 说实在话,用过挺多 ...

  7. Duplicate entry '0' for key 'PRIMARY'_Spring Batch

    2019独角兽企业重金招聘Python工程师标准>>> Duplicate entry '0' for key 'PRIMARY'_Spring Batch 在运行一个job成功后, ...

  8. pandas使用duplicated函数删除dataframe中重复列名称的数据列、默认保留重复数据列中的第一个数据列(removing duplicate columns in dataframe)

    pandas使用duplicated函数删除dataframe中重复列名称的数据列.默认保留重复数据列中的第一个数据列(removing duplicate columns in dataframe) ...

  9. mysql load data on duplicate_带有ON DUPLICATE KEY UPDATE的MySQL LOAD DATA INFILE

    慕勒3428872 这些步骤可用于模拟此功能:1)创建一个新的临时表.CREATE TEMPORARY TABLE temporary_table LIKE target_table;2)(可选)从临 ...

最新文章

  1. poj2154-color-polyan次二面体+欧拉函数优化
  2. apache ab test使用 单独安装ab和htpasswd
  3. Leetcode 之Binary Tree Postorder Traversal(44)
  4. 的确好用!Python数据科学速查表中文版强势来袭!
  5. sdut 3346 sdut 3344 Runtime Error Runtime Error?
  6. 学习笔记900天总结
  7. android expandablelist 自动滚动,在ExpandableListView中,如何保留滚动位置_android_开发99编程知识库...
  8. 云漫圈 | AR VR傻傻分不清楚。。。
  9. 数学----两个或者多个函数相乘求它们的导数
  10. SiT1602:SiTime低功耗单端有源晶振
  11. 使用构造方法 重载 Scanner键盘录入的方式,做一个两个int类型的相加 和三个double类型的计算器
  12. FT6206在STM32上的调试记录
  13. [完结]saliency filters精读之permutohedral lattice
  14. 解决android studio编译的速度慢,安装apk过慢的问题
  15. 树莓派 linux 私有云,树莓派搭建私有云服务器
  16. 如何确定因果关系?四种理论分析模型
  17. 理清gcc、libc、glibc、libc++、libstdc++的关系
  18. tp5中渲染页面将时间戳转换为日期时间格式(Y-m-d H:i:s)
  19. M87 黑洞照片的捕捉背后,这个程序媛功不可没
  20. 使用ENVI软件中的SARSCAP工具对RADARSAT数据进预处理

热门文章

  1. 7.4 平面及其方程
  2. SpringBoot在线教育项目(十二)
  3. DOSBOX的简单使用
  4. 单模光纤与多模光纤区别
  5. Android 版本简介
  6. 输入关键词自动生成文章-免费自动输入关键词自动生成文章器
  7. MySQL增加新的分区
  8. 关于融云聊天室KV 值的正确使用
  9. C++计算矩阵对角线和的程序
  10. 2022“杭电杯”中国大学生算法设计超级联赛(1)1003 Backpack个人题解