记一次踩坑:使用ksoap-android时造成的okhttp依赖冲突问题
项目中需要调用webservice接口,android SDK中并没有直接访问webservice接口的方法,于是我引入了ksoap-android的jar包,来实现访问webservice接口。刚开始一切还都比较顺利,成功从webservice接口获取到了返回的数据,直接运行在手机上一切也都正常。总之,经过一个多星期的奋斗,总算是完整的实现了需求改动。就在终于要松口气的时候,居然在最后打包签名APK时出了问题:Error:Execution failed for task ':app:transformJarWithDexForRelease' ,就是说我的jar包的文件冲突了,查看message信息,得知是okhttp中的文件冲突了。我查了自己依赖的所有jar包,在External Libraries下发现了okhttp-3.3.0和okio-1.8.0(如下图),再看一下我的libs下的ksoap-android的jar包下的文件(目录结构如下),发现它的下边也有okhttp3和okio的依赖文件,终于找到地方了,可是该怎么解决又是个问题,在网上查了不少资料,又忙了大半天,试了各种方法,最终终于解决了。
网上的方法也试了不少,最后发现一种简单又好用的方法,就是我直接删除了ksoap-android这个jar包中的okhttp3和okio这俩个文件夹,在android studio中是不能直接删除jar包中的文件的,于是在文件夹中找到我们原始的jar包,用winRAR(或者其他的解压缩工具)打开,选中okhttp3和okio文件夹,直接删除,最后再把新的jar包复制到libs文件夹下,替换掉之前的jar包,最后如图所示,在ksoap-android的jar包中已经没有了okhttp3和okio的文件夹,不过不用怕,因为我们的项目中已经引入了okhttp,最后打包签名,大功告成,测试了一下,应用依然正常运行,完美!!!!!


记一次踩坑:使用ksoap-android时造成的okhttp依赖冲突问题的更多相关文章
- 2017-6-14 踩坑小结(Android文件读写 相关问题)
填坑 getSlotFromBufferLocked: unknown buffer: 0xab7115e0 1. 在棉花糖(6.0)上莫名出现 未知缓冲 错误,百度了一下,貌似这个是Android6 ...
- React Native踩坑之启动android模拟器失败
报错 Could not install the app on the device, read the error above for details.Make sure you have an A ...
- 记一次踩坑之路之Ubuntu未导入镜像前配置docke/docker-composer
更新 apt 包索引与升级 sudo apt-get update sudo apt-get upgrade 安装 apt 依赖包,用于通过HTTPS来获取仓库: sudo apt-get insta ...
- 小程序踩坑异步请求json时,headers设置 "content-type": "application/x-www-form-urlencoded"
wx.request({ url: url, method:params.method, data: params.data, header: { "content-type": ...
- Spark踩坑记——共享变量
[TOC] 前言 Spark踩坑记--初试 Spark踩坑记--数据库(Hbase+Mysql) Spark踩坑记--Spark Streaming+kafka应用及调优 在前面总结的几篇spark踩 ...
- 区块链之智能合约 solidity踩坑 --上篇
概述 最近在写合约时遇到一些坑,做一下总结: 介绍主要分一下三个方面: 对区块链的简单描述 结合业务场景,编写简单智能合约,时遇到的坑(上篇) assembly 的使用说明(下篇) 正文 进入正题之前 ...
- Android Studio 解决 Gradle 依赖冲突的问题
Android Studio 解决 Gradle 依赖冲突的问题 参考链接: Android Studio(Gradle)解决库依赖冲突问题:http://www.mobibrw.com/2016/3 ...
- 【踩坑记】从HybridApp到ReactNative
前言 随着移动互联网的兴起,Webapp开始大行其道.大概在15年下半年的时候我接触到了HybridApp.因为当时还没毕业嘛,所以并不清楚自己未来的方向,所以就投入了HybridApp的怀抱. Hy ...
- Spark踩坑记——Spark Streaming+Kafka
[TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...
随机推荐
- perl 面向对象编程
今天看到一个perl面向对象编程的例子,充分体现了如何对数据进行封装: 自己模仿写一个读取配置文件的例子, 配置文件的内容如下 samtools_binary = /usr/bin/samtools ...
- 世界上最痛苦的事就是去改别人的bug!!!!
世界上最痛苦的事就是去改别人的bug!!!!
- thinkphp隐藏模块实例
1.项目中若要隐藏模块的做法 2.配置如下: <?php return array( //'配置项'=>'配置值' 'MODULE_ALLOW_LIST' => array ('Ho ...
- css制作上下左右的箭头
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js 离开页面
序言 大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统.信息录入系统等就经常会有这一些提示,避免用户有意或者无意中关掉了页面,导致数据丢失.这里面的实现过程 ...
- Loadrunner中socket协议中的三个关联函数
这3个函数其实都可以动态获取运行中收到的数据包中的数据,只要跟在要获取的收取数据包脚本后面即可.其中:lrs_save_searched_string和lrs_save_param如果buf_desc ...
- [转]各种编码ANSI、GB2312、GBK、GB18030、UNICODE以及UTF-8傻傻分不清!
计算机编程中的编码一直是让新手非常头疼的问题,特别是 GBK.GB2312.UTF-8 这三个比较常见的网页编码的区别,更是让许多新手晕头转向,怎么解释也解释不清楚,看一遍貌似懂了,但实际使用的时候又 ...
- Java课后简答题
1.简述Java的特点. 面向对象.跨平台性.健壮性.安全性.可移植性.多线程性.动态性等. 2.简述JRE与JDK的区别. JRE(Java Runtime Environment,Java运行时环 ...
- 什么原因接触接触impala的
最近一个项目,关于大数据的改造项目,底层选择Impala还是sparkSQL呢? 最后选择Impala.这样就开启了我的Impala学习之旅.我大部分负责Imapa接口开发工作. 我是控制不住的想整个 ...
- 多进程模块:multiprocessing
多进程: (1) 前面我们学习的多线程,其实算不上真正的多线程,即使你开了很多个线程,在同一时间内只能有一个CPU核数来处理一个线程(2) 在 python 中,多进程算得上是真正的多线程,假设你的C ...