记一次踩坑:使用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 ...
随机推荐
- c++ vector init操作
1) string str[n]={"hello", ...}; vector<string> strArray(str,str+n); 2) vector<st ...
- ajax basic 认证
//需要Base64见:http://www.webtoolkit.info/javascript-base64.html function make_base_auth(user, password ...
- vc 获取 硬盘序列号 和 cpu
vc 获取 硬盘序列号 和 cpu 唯一iD的方法?如题---------网上找来很多资料 也没找到, 要支持xp win7 32/64 系统下都能获取 硬盘序列号 和cpu ID 哪位朋友帮帮忙: ...
- html文档流和事件流
文档流: 标准文档流,float position: relative.absolute.fixed可以脱离标准文档流: 回归标准文档流: https://blog.csdn.net/Welkin_q ...
- cesium入门1
本教程将获得所有技能水平的开发人员和他们的第一个铯应用程序运行. 验证Cesium在您的Web浏览器中工作的最简单的方法是单击此处运行Hello World示例 (打开一个新窗口).如果你看到像下面的 ...
- linux中,如何设置每隔2个小时就执行一次某个脚本?
需求描述: 今天同事问了一个linux上crontab定时任务的问题,说,如何调整一个定时任务每2个小时 执行一次,在此记录下. 操作过程: 1.通过以下的方式设置,每2个小时执行一次脚本 */ * ...
- NodeJS-001-Nodejs学习文档整理(转-出自http://www.cnblogs.com/xucheng)
Nodejs学习文档整理 http://www.cnblogs.com/xucheng/p/3988835.html 1.nodejs是什么: nodejs是一个是javascript能在后台运行的平 ...
- python cx_oracle单个表中批量插入数据
- Windows 下安装 Python3
可以使用两种方式安装 Python3,一种是直接去官网下载安装包,然后进行安装即可:另一种是通过安装 Anaconda 来安装 Python3, Anaconda 提供了 Python 的科学计算环境 ...
- CentOS6.5安装图形界面(Gnome)
因为是以最小化安装的Linux,无法使用图形界面,从网上看到资料,我使用yum安装果然很简单 ----------------------------------------------------- ...