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

Hea*_*ers 3 android file-upload androidhttpclient

我需要使用Android的HttpClient上传文件.不幸的是,Android不包含MultipartEntity,所以我必须使用Apache的httpmime库.

我不想在Android的HttpClient和官方的HttpClient之间产生可能的冲突.此外,我不想引入比我更多的外部库,因为我需要保持我的方法数量低.

什么版本的httpmime可以与Android的HttpClient一起使用?我见过推荐httpmime的所有问题也建议使用Apache官方的HttpClient或HttpCore.

(我知道我应该使用Retrofit,但我必须使用Android的HttpClient与其他库兼容.)

fox*_*mon 7

dependencies {
    compile group: 'org.apache.httpcomponents', name: 'httpclient-android', version: '4.3.5'
    compile 'org.apache.httpcomponents:httpmime:4.3.5'
}
Run Code Online (Sandbox Code Playgroud)

  • 虽然`compile'org.apache.httpcomponents:httpclient-android:4.3.5'`可能看起来更好. (2认同)

Hea*_*ers 6

httpmime-4.2.6.jar一切都很好.除了那个jar之外我不需要任何其他依赖项.

如果你正在使用像Maven或那样的依赖管理构建系统gradle,你会发现它httpmime-4.2.6依赖于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>
Run Code Online (Sandbox Code Playgroud)