无法在Android Studio

时间:2015-09-01 20:47:59

标签: android eclipse android-studio

我想在Android Studio中使用这些库:

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

我正在关注导师使用Eclipse的视频教程,所以我知道它有效。

但是我还需要添加哪些额外的东西/库才能使用它们?

6 个答案:

答案 0 :(得分:63)

在sdk 23中弃用了HttpClient

您必须将URLConnection或sdk向下移动到22

  

仍然需要HttpClient with update gradle sdk 23

您必须在app / gradle中添加HttpClient的依赖项

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:23.0.1'

    compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
    ...
}

答案 1 :(得分:40)

HttpClient在Android 5.1中已弃用,已从Android 6.0中的Android SDK中删除。虽然有a workaround to continue using HttpClient in Android 6.0 with Android Studio,但你真的需要转向别的东西。那"别的"可能是:

或者,根据HTTP工作的性质,您可以选择支持更高阶操作的库(例如,Web服务API的Retrofit)。

在紧要关头,您可以通过在模块的useLibrary 'org.apache.http.legacy'文件中android关闭build.gradle来启用旧版API。然而,谷歌多年来一直建议人们停止使用Android的内置HttpClient,因此最多这应该是一个止损移动,而你正在努力转移到另一个API。

答案 2 :(得分:23)

Main build.gradle - /build.gradle

buildscript {
    ...
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.1' 
        // Versions: http://jcenter.bintray.com/com/android/tools/build/gradle/
    }
    ...
}

特定于模块的build.gradle - /app/build.gradle

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"
    ...
    useLibrary 'org.apache.http.legacy'
    ...
}

答案 3 :(得分:2)

根据Apache网站,如果您使用Android API 23或更新版本,则需要包含Gradle依赖项:

NSRange lastDotRange = [sURL rangeOfString:@"/" options:NSBackwardsSearch];

来源: https://hc.apache.org/httpcomponents-client-4.5.x/android-port.html

答案 4 :(得分:0)

如果您要开始开发,请从方块转到OK Okttt,否则如果您需要保持以前的代码运行,那么将旧库添加到项目依赖项中:

dependencies {
    compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1'
}

答案 5 :(得分:-1)

使用此: -

compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'