Apache HttpClient Android (Gradle)



我已将此行添加到我的build.gradle 中

compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5'

并且我想在我的代码中使用MultipartEntityBuilder。然而,安卓工作室并没有将库添加到我的代码中。有人能帮我吗?

如果您使用目标SDK作为23,请在您的build.gradle 中添加以下代码

android{
 useLibrary  'org.apache.http.legacy'
}

此处的附加说明:不要尝试使用这些文件的渐变版本。它们坏了(28.08.15)。我试了5个多小时才让它工作。只是没有。不工作:

compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.5'

另一件事不要使用:

'org.apache.httpcomponents:httpclient-android:4.3.5.1'

指21 API水平

接受的答案对我来说似乎不太正确。当一个人可以依赖于相同版本的HttpMime时,拖动不同版本的HttpMime是没有意义的。

compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5'
compile (group: 'org.apache.httpcomponents' , name: 'httpmime' , version: '4.3.5') {
    exclude module: 'org.apache.httpcomponents:httpclient'
}

尝试将其添加到您的依赖项中:

compile 'org.apache.httpcomponents:httpclient:4.4-alpha1'

一般来说,如果你想使用一个库,并且你正在搜索Gradle依赖行,你可以使用Gradle Please

编辑:也看看这个。

其他的都不适合我。我必须添加以下依赖项,如所述

compile group: 'cz.msebera.android' , name: 'httpclient', version: '4.4.1.1'

因为我的目标是API 23。

我通过在我的build.gradle文件中添加以下内容来解决问题

android {
useLibrary 'org.apache.http.legacy'}

然而,只有当您使用的是1.3.0-beta2或更高版本时,这才有效,因此如果您使用的版本较低,则必须将其添加到构建脚本依赖项中:

classpath 'com.android.tools.build:gradle:1.3.0-beta2'

我一遍又一遍地搜索这个解决方案,它就像一个魅力::

    apply plugin: 'com.android.application'
    android {
        compileSdkVersion 25
        buildToolsVersion "25.0.3"
        defaultConfig {
            applicationId "com.anzma.memories"
            useLibrary 'org.apache.http.legacy'
            minSdkVersion 15
            targetSdkVersion 25
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
 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'
        }
    buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile('org.apache.httpcomponents:httpmime:4.3.6') {
            exclude module: 'httpclient'
        }
        compile 'org.apache.httpcomponents:httpclient-android:4.3.5'
        compile 'com.android.support:appcompat-v7:25.3.1'
        testCompile 'junit:junit:4.12'
    }

我不知道为什么,但(目前)httpclient只能作为一个jar编译到项目中的libs目录中。HttpCore在mvn中包含时工作良好,如下所示:

dependencies {
      compile 'org.apache.httpcomponents:httpcore:4.4.3'
}

工作等级依赖

试试这个:

编译"org.jbundle.util.osgi.wrapped:org.jbundle.util.orgi.wrapped.org.apache.http.client:4.1.2"

相关内容

  • 没有找到相关文章

最新更新