AndroidStudio 导入HttpClient最简单的方法
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
经过查找可以在文件中加入以下代码消除这个问题。
- packagingOptions {
- exclude 'META-INF/DEPENDENCIES'
- exclude 'META-INF/NOTICE'
- exclude 'META-INF/LICENSE'
- exclude 'META-INF/LICENSE.txt'
- exclude 'META-INF/NOTICE.txt'
- exclude 'META-INF/ASL2.0'
- exclude 'META-INF/notice.txt'
- }
如果在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就是自动更新插件了,不用下载了