我在我的项目中使用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'}
知道如何解决这个问题吗?
答案 0 :(得分:11)
首先删除行
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),则可以尝试此操作。希望这能解决问题...
答案 1 :(得分:8)
使用适用于android的apache http客户端的重新打包版本
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 :(得分:8)
解决方案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'
}
然后我得到了类似问题的警告,之后我评论了一些像bellow 这样的行
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'
}
现在一切正常
修改强>
解决方案2
我得到了比以前更好的过程
在lib的文件夹中添加httpcore-4.3-beta1.jar和httpmime-4.3.jar,最后添加
你的graddle文件中的 useLibrary 'org.apache.http.legacy'
(在android内部)就像吼叫一样
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"
}
......
}
答案 3 :(得分:0)
解决方案: 添加useLibrary'org.apache.http.legacy' 配置{ all * .exclude模块:“ httpclient” }
我认为有些人可能需要这个,
答案 4 :(得分:0)
这对我有用。
如果您保留以下一项:-,
compile 'org.apache.httpcomponents:httpcore:4.4.4'
compile group: 'org.apache.httpcomponents' ,
name: 'httpclient-android' , version: '4.3.5.1'
将其更改为此,
compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1'