我需要使用Android的HttpClient上传文件。不幸的是Android doesn't include MultipartEntity,所以我必须使用Apache's httpmime library。
我不想在Android的HttpClient和官方的HttpClient之间产生可能的冲突。另外,我不想引入比我更多的外部库,因为我需要保持我的方法数量低。
哪个版本的httpmime适用于Android的HttpClient? All of the questions我看到recommending httpmime也推荐using Apache's official HttpClient or HttpCore。
(我知道我应该使用Retrofit,但我必须使用Android的HttpClient与其他库兼容。)
答案 0 :(得分:7)
dependencies {
compile group: 'org.apache.httpcomponents', name: 'httpclient-android', version: '4.3.5'
compile 'org.apache.httpcomponents:httpmime:4.3.5'
}
答案 1 :(得分:6)
httpmime-4.2.6.jar
一切都很好。除了那个jar之外我不需要任何其他依赖。
如果您正在使用依赖项管理构建系统,例如Maven
或gradle
,那么您会注意到httpmime-4.2.6
depends on httpcore-4.2.5
。 Android的HttpClient似乎与httpcore-4.2.5
兼容,所以我只是排除了这种依赖。我的实际依赖声明如下:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.2.6</version>
<exclusions>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
</exclusion>
</exclusions>
</dependency>