2015-09-04 121 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'