杯吹地在eclipse中安装安卓httpclient导入import包
wxleasyland@sina.com
2015.12.1
这是杯吹的一天。咱比较笨,木有办法。
一、HttpClient出错
安卓中使用http,网上很多是用apache的HttpClient,于是拷了代码。
HttpGet myget = new HttpGet("http://www.baidu.com");
HttpClient httpClient = new DefaultHttpClient();
try
{
HttpResponse response = httpClient.execute(myget); //发起GET请求
str+="得到StatusLine=" + response.getStatusLine().getStatusCode()+ response.getStatusLine().getReasonPhrase()+"\n"; //获取响应码
//str+="得到entity = " + EntityUtils.toString(response.getEntity(), "utf-8") ; //获取服务器响应内容
}
catch (Exception e)
{
//e.printStackTrace();
str+="访问HTTP出错";
}
然后:
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
//import org.apache.http.util;
很简单的程序,结果,全部找不到import包。
我都是最新的SDK包,并且基本上全部下载了,怎么还会没有包?
二、用GRADLE创建HttpClient包
搜了一下,说要去apache网站下载包。
网站上找到HttpClient for Android中有说明:
安卓携带HttpClient版本变成了一个分叉。最后GOOGLE决定不再发展他们的分叉,同时拒绝升级到Apache HttpClient的普通版本,引用兼容性考虑作为这个决定的原因。
如果使用安卓API22及以下,使用HttpClient 4.3.5.1
如果使用安卓API23及以上,使用Marek Sebera维护的用于安卓的HttpClient包。
好不容易在下载的地方,找到了httpcomponents-client-android-4.3.5.1-src.zip。
但是,居然只是个SRC源文件,没有JAR包。怎么办。
里面BUILDING.txt有写:HttpClient for Android utilizes Gradle as a building and packaging tool. 需要gradle软件来建立包。
偶滴神,GRADLE是什么东东?网上搜了一下,完全没看懂!国外的技术水平已经完全超过了我能理解的程度。
好吧,下载GRADLE看看吧。官网。。。。。嗯,无法访问,墙掉了!
好在,国内镜像http://www.androiddevtools.cn/有这个软件。
下载、安装,按网上说的进行设置。
好了,运行gradle -q assemble。
出错。是不是需要key:Please note that when building a release version one must also provide signing key details in gradle.properties file in order to be able to sign the artifacts and successfully build the release.
key又是什么鬼?
搜了半天,应该是PGP这个东东。
于是下载、安装PGP,还好,可以正常下载。按网上说的建了一个pgp文件。并在gradle.properties文件中加入
signing.keyId=
signing.secretKeyRingFile=
继续gradle -q assemble。
出错。说没有bcprov-jdk15on-1.48.jar这个文件。
但网站被墙掉了,所以无法下载这个文件。但是gradle中有bcprov-jdk15on-1.51.jar这个文件啊。
受不了,继续在网上搜,终于搜到bcprov-jdk15on-1.48.jar这个文件,放在lib\plugins目录中。
继续gradle -q assemble。还是一样的错误。
没有办法了,真的身心俱疲。这条路自己真的不知道如何整了。
三、自己在SDK中找到HttpClient包
有人说安卓SDK有自带httpclient包。
有人说有commons-httpclient-3.1.jar这个包。
于是试着在安卓SDK的目录中看了一下,在tools\lib目录下,找到了httpclient-4.1.1.jar、httpcore-4.1.jar、httpmime-4.1.jar这几个文件。
是不是这几个可以用?
于是把这几个文件拷入到自己项目的libs目录里面,居然可以了!import语句不会出错了。
四、程序在4.0下出错
OK,程序除了org.apache.http.util这个包找不了,其它都可以了。
运行程序,发现在2.3下OK正常,但在4.3下面,运行出现抛出异常exception。
又搜了一下,网上有人说是有这个情况,并且解决不太好。
看来这条路也不通。
好吧,杯吹了一天,居然是这个结果。一万头草泥马啊。。。
文章评论(0条评论)
登录后参与讨论