Зависимость 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'}
Любая идея, как решить эту проблему?
Ответы
Ответ 1
Использовать переупакованную версию клиента apache http, подходящую для android
dependencies {
compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1'
}
https://hc.apache.org/httpcomponents-client-4.3.x/android-port.html
Ответ 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"
}
......
}