記一次踩坑:使用ksoap-android時造成的okhttp依賴衝突問題

来源:http://www.cnblogs.com/wangxinqiang1995/archive/2017/11/04/7782930.html
-Advertisement-
Play Games

項目中需要調用webservice介面,android SDK中並沒有直接訪問webservice介面的方法,於是我引入了ksoap-android的jar包,來實現訪問webservice介面。剛開始一切還都比較順利,成功從webservice介面獲取到了返回的數據,直接運行在手機上一切也都正常。 ...


  項目中需要調用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,最後打包簽名,大功告成,測試了一下,應用依然正常運行,完美!!!!!

       

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 為了方便演示,我已經把一個靜態DEMO部署到github,傳送門 關於項目訪問,因為讀取遠程json數據,直接用瀏覽器打開有安全限制.請將項目放到tomcat啟動訪問或者直接用idea/webstorm打開項目直接右鍵打開,如下圖所示: 完整代碼單獨放到了github:https://github. ...
  • 我最近在做一個vue + element-UI + vue-resource + vuex項目的時候,遇到了一個對象的問題。 當我們在項目需要 複製一個對象到另一個對象並且 被覆制的對象不能受複製後的對象的影響。 我先總結下 我們哪些方法可以複製對象 以上的方法中 都可以把一個對象的鍵值賦值給另一個 ...
  • 前幾天看到這樣的問題 先說問題吧:感覺前端涉及到的東西太多了,自己也很浮躁,看了挺多書,可是代碼缺敲得卻不多。技術菜,又什麼都想學,比如現在糾結要不要先學scss或者php或者angularjs,backbone等框架,還是深入學習html5+css3? 然後看了一些招聘要求發現又有一些坑要填,經常 ...
  • 阿裡雲oss上傳圖片的時候報錯如上, 解決辦法,把系統時間自動同步成對應的時區的時間。 ...
  • 實現效果: 實現原理: 給關閉按鈕綁定點擊事件,點擊以後觸發動畫效果。利用jQuery的animate方法,先讓顯示天氣的盒子高度變為0,接著讓整個包含天氣和事件的盒子寬度變為0,最後通過將display屬性值設為none,使得close按鈕消失。 實現代碼: ...
  • 一、函數聲明、函數表達式、匿名函數1.函數聲明:function fnName () {…};使用function關鍵字聲明一個函數,再指定一個函數名,叫函數聲明。2.函數表達式 var fnName = function () {…};使用function關鍵字聲明一個函數,但未給函數命名,最後將 ...
  • 最近在搞一個被很多人改了的框架,天天看代碼看的頭的暈了,不過感覺進步還挺大的,自己做了一個後臺可配置前臺查看兩個庫不同數據範圍的東西,還挺滿意,那天拿出來分享一下,今天先說一個這幾天做的功能,就是html頁面的查找功能。 這個功能主要是實現在查找框內輸入字元,之後按後面的上一個下一個按鈕,會自動把查 ...
  • 簡介 onunload,onbeforeunload都是在刷新或關閉時調用,可以在<script>腳本中通過 window.onunload來調用。區別在於onbeforeunload在onunload之前執行,它還可 以阻止onunload的執行。 onbeforeunload 是正要去伺服器讀 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 推薦一款基於.NET 8、WPF、Prism.DryIoc、MVVM設計模式、Blazor以及MySQL資料庫構建的企業級工作流系統的WPF客戶端框架-AIStudio.Wpf.AClient 6.0。 項目介紹 框架採用了 Prism 框架來實現 MVVM 模式,不僅簡化了 MVVM 的典型 ...
  • 先看一下效果吧: 我們直接通過改造一下原版的TreeView來實現上面這個效果 我們先創建一個普通的TreeView 代碼很簡單: <TreeView> <TreeViewItem Header="人事部"/> <TreeViewItem Header="技術部"> <TreeViewItem He ...
  • 1. 生成式 AI 簡介 https://imp.i384100.net/LXYmq3 2. Python 語言 https://imp.i384100.net/5gmXXo 3. 統計和 R https://youtu.be/ANMuuq502rE?si=hw9GT6JVzMhRvBbF 4. 數 ...
  • 本文為大家介紹下.NET解壓/壓縮zip文件。雖然解壓縮不是啥核心技術,但壓縮性能以及進度處理還是需要關註下,針對使用較多的zip開源組件驗證,給大家提供個技術選型參考 之前在《.NET WebSocket高併發通信阻塞問題 - 唐宋元明清2188 - 博客園 (cnblogs.com)》講過,團隊 ...
  • 之前寫過兩篇關於Roslyn源生成器生成源代碼的用例,今天使用Roslyn的代碼修複器CodeFixProvider實現一個cs文件頭部註釋的功能, 代碼修複器會同時涉及到CodeFixProvider和DiagnosticAnalyzer, 實現FileHeaderAnalyzer 首先我們知道修 ...
  • 在軟體行業,經常會聽到一句話“文不如表,表不如圖”說明瞭圖形在軟體應用中的重要性。同樣在WPF開發中,為了程式美觀或者業務需要,經常會用到各種個樣的圖形。今天以一些簡單的小例子,簡述WPF開發中幾何圖形(Geometry)相關內容,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 在 C# 中使用 RabbitMQ 通過簡訊發送重置後的密碼到用戶的手機號上,你可以按照以下步驟進行 1.安裝 RabbitMQ 客戶端庫 首先,確保你已經安裝了 RabbitMQ 客戶端庫。你可以通過 NuGet 包管理器來安裝: dotnet add package RabbitMQ.Clien ...
  • 1.下載 Protocol Buffers 編譯器(protoc) 前往 Protocol Buffers GitHub Releases 頁面。在 "Assets" 下找到適合您系統的壓縮文件,通常為 protoc-{version}-win32.zip 或 protoc-{version}-wi ...
  • 簡介 在現代微服務架構中,服務發現(Service Discovery)是一項關鍵功能。它允許微服務動態地找到彼此,而無需依賴硬編碼的地址。以前如果你搜 .NET Service Discovery,大概率會搜到一大堆 Eureka,Consul 等的文章。現在微軟為我們帶來了一個官方的包:Micr ...
  • ZY樹洞 前言 ZY樹洞是一個基於.NET Core開發的簡單的評論系統,主要用於大家分享自己心中的感悟、經驗、心得、想法等。 好了,不賣關子了,這個項目其實是上班無聊的時候寫的,為什麼要寫這個項目呢?因為我單純的想吐槽一下工作中的不滿而已。 項目介紹 項目很簡單,主要功能就是提供一個簡單的評論系統 ...