Tuesday, 24 May 2016

gradle - HttpClient won't import in Android Studio



I have a simple class written in Android Studio:



package com.mysite.myapp;

import org.apache.http.client.HttpClient;


public class Whatever {
public void headBangingAgainstTheWallExample () {
HttpClient client = new DefaultHttpClient();
}
}


and from this I get the following compile time error:




Cannot resolve symbol HttpClient



Isn't HttpClient included in the Android Studio SDK? Even if it is not, I added it to my Gradle build like this:



dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'org.apache.httpcomponents:httpclient:4.5'
}



With or without the last compile line, the error is the same. What am I missing?


Answer



HttpClient is not supported any more in sdk 23. You have to use URLConnection or downgrade to sdk 22 (compile 'com.android.support:appcompat-v7:22.2.0')



If you need sdk 23, add this to your gradle:



android {
useLibrary 'org.apache.http.legacy'
}



You also may try to download and include HttpClient jar directly into your project or use OkHttp instead


No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...