项目中需要调用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依赖冲突问题的更多相关文章

  1. 2017-6-14 踩坑小结(Android文件读写 相关问题)

    填坑 getSlotFromBufferLocked: unknown buffer: 0xab7115e0 1. 在棉花糖(6.0)上莫名出现 未知缓冲 错误,百度了一下,貌似这个是Android6 ...

  2. React Native踩坑之启动android模拟器失败

    报错 Could not install the app on the device, read the error above for details.Make sure you have an A ...

  3. 记一次踩坑之路之Ubuntu未导入镜像前配置docke/docker-composer

    更新 apt 包索引与升级 sudo apt-get update sudo apt-get upgrade 安装 apt 依赖包,用于通过HTTPS来获取仓库: sudo apt-get insta ...

  4. 小程序踩坑异步请求json时,headers设置 "content-type": "application/x-www-form-urlencoded"

    wx.request({ url: url, method:params.method, data: params.data, header: { "content-type": ...

  5. Spark踩坑记——共享变量

    [TOC] 前言 Spark踩坑记--初试 Spark踩坑记--数据库(Hbase+Mysql) Spark踩坑记--Spark Streaming+kafka应用及调优 在前面总结的几篇spark踩 ...

  6. 区块链之智能合约 solidity踩坑 --上篇

    概述 最近在写合约时遇到一些坑,做一下总结: 介绍主要分一下三个方面: 对区块链的简单描述 结合业务场景,编写简单智能合约,时遇到的坑(上篇) assembly 的使用说明(下篇) 正文 进入正题之前 ...

  7. Android Studio 解决 Gradle 依赖冲突的问题

    Android Studio 解决 Gradle 依赖冲突的问题 参考链接: Android Studio(Gradle)解决库依赖冲突问题:http://www.mobibrw.com/2016/3 ...

  8. 【踩坑记】从HybridApp到ReactNative

    前言 随着移动互联网的兴起,Webapp开始大行其道.大概在15年下半年的时候我接触到了HybridApp.因为当时还没毕业嘛,所以并不清楚自己未来的方向,所以就投入了HybridApp的怀抱. Hy ...

  9. Spark踩坑记——Spark Streaming+Kafka

    [TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...

随机推荐

  1. 查看CentOS的网络带宽出口

    检查维护系统的时候,经常会要查看服务器的网络端口是多大的,所以需要用到Linux的一个命令. 如何查看CentOS的网络带宽出口多大?可以用下面的命令来查看. # ethtool eth0 前面是命令 ...

  2. [Scikit-learn] Dynamic Bayesian Network - Kalman Filter

    看上去不错的网站:http://iacs-courses.seas.harvard.edu/courses/am207/blog/lecture-18.html SciPy Cookbook:http ...

  3. 第四章 Spring.Net 如何管理您的类___对象的作用域

    Spring.Net 中对象的作用域,就是描述对象的部署模式 ,Spring.Net 中对象可以通过两种模式布署: ① singleton(单例模式) ② 非singleton 也叫非单例模式(或者叫 ...

  4. C#------Entity Framework6的T4模板的使用

    转载: http://www.cnblogs.com/Zhangzhigang/articles/4850549.html 1.新建一个.tt文件 2.打开.tt文件 3.粘贴入以下代码即可(inpu ...

  5. HTML&CSS精选笔记_CSS入门

    CSS入门 CSS核心基础 CSS样式规则 选择器{属性1:属性值1; 属性2:属性值2; 属性3:属性值3;} CSS代码结构中的特点 CSS样式中的选择器严格区分大小写,属性和值不区分大小写,按照 ...

  6. Messages: No result defined for action cn.itcast.oa.test.TestAction and result SUCCESS

    Struts Problem Report Struts has detected an unhandled exception: Messages: No result defined for ac ...

  7. Extjs学习笔记--(四,基本函数介绍)

    Ext是Extjs的命名空间,为Extjs框架提供唯一的全局变量 这样做可以避免冲突,便于代码维护 1,apply和applyif方法 apply=function(object, config, d ...

  8. ios开发之--简单动画效果的添加

    记录一个简单的动画效果,自己写的,很简单,仅做记录. 附一个demo的下载地址: https://github.com/hgl753951/hglTest.git 代码如下: 1,准备 BOOL _i ...

  9. ActiveMQ伪集群部署

    本文借鉴http://www.cnblogs.com/guozhen/p/5984915.html,在此基础上进行了完善,使之成为一个完整版的伪分布式部署说明,在此记录一下! 一.本文目的 介绍如何在 ...

  10. C语言各种存储模式的区别?最常用的存储模式有哪些?

    DOS用一种段地址结构来编址计算机的内存,每一个物理内存位置都有一个可通过段地址一偏移量的方式来访问的相关地址.为了支持这种段地址结构,大多数C编译程序都允许你用以下6种存储模式来创建程序: ---- ...