Зависимость org.apache.httpcomponents: httpclient: 4.4.1 игнорируется для выпуска, так как может противоречить внутренней версии, предоставляемой Android

Я использую httpmime и httpcore в своем проекте, и я получаю это предупреждение

Предупреждение: зависимость org.apache.httpcomponents: httpclient: 4.4.1 игнорируется для отладки, поскольку это может противоречить внутренней версии предоставляемые Android.

Предупреждение: зависимость org.apache.httpcomponents: httpclient: 4.4.1 игнорируется для отладки, поскольку это может противоречить внутренней версии предоставляемые Android.

Мои зависимости выглядят так:

dependencies {    
    compile files('libs/gson-2.2.2.jar')
    compile files('libs/classes.jar')
    compile files('libs/gcm.jar')
    compile files('libs/splunk-mint-4.2.jar')
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'org.apache.httpcomponents:httpcore:4.4.1'
    compile 'org.apache.httpcomponents:httpmime:4.4.1'}

Как было предложено в других местах, я добавил это в свой файл build.gradle

packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'}

Любая идея, как решить эту проблему?

Ответ 2

Сначала удалите строки compile 'org.apache.httpcomponents:httpcore:4.4.1' compile 'org.apache.httpcomponents:httpmime:4.4.1'

то на их месте добавьте строки в build.gradle, заданные:

compile ('org.apache.httpcomponents:httpmime:4.3'){
    exclude group: 'org.apache.httpcomponents', module: 'httpclient'
}
compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'commons-io:commons-io:1.3.2'

Вы можете попробовать это, если ваш compileSdkVersion равен 19 (IN MY CASE) более предпочтительно. Надеюсь, это решит проблему...

Ответ 3

Решение 1

Я знаю, что это так поздно, но я публикую здесь, потому что принятый ответ не работал у меня

ранее я использовал

dependencies {
    compile 'org.apache.httpcomponents:httpclient:4.5'
    compile 'org.apache.httpcomponents:httpmime:4.3.3'
    compile 'org.apache.httpcomponents:httpcore:4.3.2'
    compile files('libs/httpclient-4.2.1.jar')
    compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1'
}

то я получил предупреждение как вопрос после того, как я прокомментировал некоторые строки, например, ниже.

dependencies {
    compile 'org.apache.httpcomponents:httpclient:4.5'
    compile 'org.apache.httpcomponents:httpmime:4.3.3'
    //compile 'org.apache.httpcomponents:httpcore:4.3.2'
    //compile files('libs/httpclient-4.2.1.jar')
    compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1'
}

теперь все работает нормально

Edit

Решение 2

Я получил лучший процесс, чем предыдущий

добавить httpcore-4.3-beta1.jar и httpmime-4.3.jar в папке lib и, наконец, добавьте

useLibrary 'org.apache.http.legacy' в вашем файле graddle (внутри андроида), как показано ниже.

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.3"
    //For http
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        applicationId "com.app.videorotation"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
    }
        ......
}