AndroidStudio 导入HttpClient最简单的方法

转自:http://www.cnblogs.com/rwind/p/5469054.html

Android开发使用AS是大势所趋的了,毕竟是谷歌的正统血脉,从刚开始的1.0到现在的1.4已经逐渐稳定,修复了很多Bug, 越来越人性化了。但是还是会出现或多或少的问题,今天想用HttpClient下载网络图片,却没有HttpClient以及相关的类,查询了一下发现原来-

在API 23中,Google已经移除了移除了Apache HttpClient相关的类 。谷歌推荐使用HttpUrlConnection,如果要继续使用需要Apache HttpClient,需要在
Eclipse下libs里添加org.apache.http.legacy.jar,
Android studio里在相应的module下的build.gradle中加入即可。	android {
		useLibrary 'org.apache.http.legacy'
		}

 

 

HttpClient虽然已经被Google抛弃,但是有限项目依然依赖这些库,还得用。我把Httpclient的所有库导入项目后,会产生如下错误。

Error:duplicate files during packaging of APK F:\Downloads\MyApplication7\app\build\outputs\apk\app-debug-unaligned.apk

Path in archive: META-INF/DEPENDENCIES

Origin 1: F:\Downloads\MyApplication7\app\libs\httpclient-4.5.2.jar

Origin 2: F:\Downloads\MyApplication7\app\libs\httpcore-4.4.4.jar

经过查找可以在文件中加入以下代码消除这个问题。

 

  1. packagingOptions {  
  2.     exclude 'META-INF/DEPENDENCIES'  
  3.     exclude 'META-INF/NOTICE'  
  4.     exclude 'META-INF/LICENSE'  
  5.     exclude 'META-INF/LICENSE.txt'  
  6.     exclude 'META-INF/NOTICE.txt'  
  7.     exclude 'META-INF/ASL2.0'  
  8.     exclude 'META-INF/notice.txt'  
  9. }  

 

 

如果在build.gradle中看不到android{}部分,可能是gradle的版本过低

Android Studio每次更新版本都会更新Gradle这个插件,但由于长城的问题每次更新都是失败,又是停止在Refreshing Gradle Project ,有时新建项目的时候报 Gradle Project Compile Error 等等相关的问题

解决这些问题办法是

首先打开android studio项目 找到项目目录gradle\wrapper\gradle-wrapper.properties这个文件 

内容如下

#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.9-all.zip

最重要的就是最下面一句,android studio会联网下载符合当前版本的gradle插件,而这个网址虽然可以访问但速度实在太慢,所以每次更新需要花很长时间或直接超时

下面是我尝试后解决问题的办法就是先通过下载工具下载http://services.gradle.org/distributions/gradle-1.9-all.zip 这个版本的插件,用下载工具会比较快下载后 直接把zip文件,不要解压拷贝到 C:\Users\Administrator\.gradle\wrapper\dists\gradle-1.9-all\3jdgemv0iv8uqohg3kcp2o88r1 目录下

重新关闭android studio 重新打开 或 直接单击android studio工具栏 Sync Project Gradle Files

android studio就是自动更新插件了,不用下载了


你可能感兴趣的:(Android)