2015-09-04 2 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; 

Gradle

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. На основе документации вы должны указать

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

в вашем Gradle скрипте использовать Apache HttpClient при компиляции с API 23.

+1

, если вы скомпилируете API 23 (не цель) –

+0

Да, спасибо. Ред. –

+0

Не работает. DefaultHttpClient все еще отсутствует. – Makalele

0

Я думаю, что библиотека HttpClient не включает в себя часть пантомимы, те, которые в 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'