热度 13
2015-12-2 16:44
1577 次阅读|
0 个评论
杯吹地在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。 又搜了一下,网上有人说是有这个情况,并且解决不太好。 看来这条路也不通。 好吧,杯吹了一天,居然是这个结果。一万头草泥马啊。。。