Android 6.0 SDK 找不到HttpClient的解決方法


一、情況描述

    在eclipse或Android Studio開發時(筆者目前只用過Android Studio),設置Android SDK的編譯版本為23時,且使用了httpClient相關類的庫項目時:如Android-async-http時,會出現有一些類找不到的錯誤,或者找不到HttpClient類。

二、原因

    android 6.0 (api 23)SDK,不再提供org.apache.http.*(只保留幾個類)。

三、解決方法

1.eclipse

libs中加入 org.apache.http.legacy.jar

上面的jar包在:**\android-sdk-windows\platforms\android-23\optional下(需要下載android 6.0的SDK)

 

2.android studio:

在相應的,module下的build.gradle中加入:

android{

      useLibrary 'org.apache.http.legacy'

}

如圖:

四、HttpClient會在谷歌的安卓中消失的原因

    一開始,谷歌安卓新出,庫中自帶HttpClient 4.0 測試預覽版。為與安卓保持API同步,HTTPClient不敢打動干戈。后來,HTTPCient 4.0逐漸成熟,Apache欲使Android跟進更新對應的庫,Android拒絕了。然而舊庫bug叢生,瑕疵遍地。故,今Apache新出一個HTTPClient for android。

    那既然Android自帶的不好,為啥不直接導入Apache的呢?因為包名是一樣的,庫沖突。不是不能解決,也能,據說比較麻煩(筆者沒試過)。從Apache下載最新的httpclient源碼,把每個源文件包名改了,改成Android不沖突的。然后打包成jar文件,然后導入到Android工程的lib里。

    現在,Android 6.0 已經移除了httpClient,於是我們可以從Apache下載HttpClient,然后導入到lib中,不用改名了。

 

更具體的解釋說明請點擊:點擊打開鏈接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM