2015-09-04 103 views
0

我正面临HttpClient依赖问题,Gradle 1.3.0和Android Studio 1.3.2。HttpClient依赖项错误Android Studio-Gradle

随着下面gradle这个文件,下面的包它们HttpClient库的一部分没有被解决

import org.apache.http.client.HttpClient; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.impl.client.DefaultHttpClient; 

摇篮文件

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.0" 

defaultConfig { 
    applicationId "xxx.xxx.xxxx" 
    minSdkVersion 15 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:23.0.1' 
    compile ('org.apache.httpcomponents:httpcore:4.+') { 
     exclude module: 'httpclient' 
    } 
    compile 'org.apache.httpcomponents:httpclient:4.2.2' 
} 

HttpClient的-4.2.2.jar有移动到libs目录以解决依赖问题,尽管在gradle文件中明确提到。

感谢所有帮助..

+1

问题不适用于Gradle 1.3.0和Android Studio 1.3.2。 它取决于API23。 –

+1

认真!!!!投票!我真的厌倦了暴民正义和一些成员的嚣张气焰。这个问题是重要的和有效的。 –

+0

我用这个教程http://www.blazin.in/2016/03/http-connection-for-android-marshmallow.html –

回答

2

看看上behavior changes in Android M的文档。 基于你需要在你的脚本的gradle使用Apache的HttpClient指定

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

,如果你用API编译23

+1

如果你编译API 23(不是目标) –

+0

是的,谢谢。编辑。 –

+0

不起作用。 DefaultHttpClient仍然缺失。 – Makalele

0

我认为HttpClient库不包含MIME部分,这些都是在httpmime。这是HttpClient的一个传递依赖,

尝试增加这种依赖性:

compile "org.apache.httpcomponents:httpmime:4.2.3" 
0

只需添加这行gradle这个文档:

compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'