我可以在Android的HttpClient中使用哪个httpmime版本?

时间:2014-07-15 14:49:21

标签: android file-upload androidhttpclient

我需要使用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与其他库兼容。)

2 个答案:

答案 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之外我不需要任何其他依赖。

如果您正在使用依赖项管理构建系统,例如Mavengradle,那么您会注意到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>