聽說API23以後,就沒有HttpClient了。
所以一般如果使用HttpClient時,會出現cannot resolve symbol 'DefaultHttpClient',
於是上網求助,找到如下方法:
在 你的SDK路徑下的 platforms/android-23/optional下面會有org.apache.http.legacy.jar這個包,找到它,把它copy到android工程應用的libs文件夾下,並且add as library後,在build.gradle的android的大括號裏添加
useLibrary 'org.apache.http.legacy'
,就像這樣:
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
useLibrary 'org.apache.http.legacy'
}
再嘗試sync一下。
這時,再導入apache的httpclient包就可以正常導入了。
但有時還會出現Warning:Unable to find optional library: org.apache.http.legacy 這樣的警告提醒。
最好還是處理一下,要不然在代碼編輯區的上方會出現Gradle project sync completed with some errors 這樣的提醒,很不爽。
又google了一下,嘗試了以下方法:
還是在上面提到的那個路徑
platforms/android-23/optional 下建立 一個名爲 optional.json的文件,注意是json文件。
文件中內容如下:
[
{
"name": "org.apache.http.legacy",
"jar": "org.apache.http.legacy.jar",
"manifest": false
}
]
保存後,再重新打開android studio 來build 一下,或者 sync一下,這裏程序對我來說就沒有問題了。
如果遇到別的問題,請大家留言,真誠地向大家請教一下,讓我們共同進步。