2015-09-07 60 views
4

由于Apache的HTTP库已被弃用,以支持HttpURLConnection,因此我一直试图将旧库添加到我的项目中。我添加了行将HTTP Legacy添加到Android Studio

useLibrary 'org.apache.http.legacy' 

to build.gradle但HTTP方法仍然无法解析。我如何得到这个工作?

这些是我得到的错误;

Error:(21, 59) error: cannot find symbol class List 
Error:(21, 64) error: cannot find symbol class NameValuePair 
Error:(23, 13) error: cannot find symbol class DefaultHttpClient 
Error:(23, 48) error: cannot find symbol class DefaultHttpClient 
Error:(24, 13) error: cannot find symbol class HttpEntity 
Error:(25, 13) error: cannot find symbol class HttpResponse 
Error:(28, 17) error: cannot find symbol class HttpPost 
Error:(28, 41) error: cannot find symbol class HttpPost 
Error:(30, 44) error: cannot find symbol class UrlEncodedFormEntity 
Error:(37, 42) error: cannot find symbol variable URLEncodedUtils 
Error:(40, 17) error: cannot find symbol class HttpGet 
Error:(40, 39) error: cannot find symbol class HttpGet 
Error:(48, 28) error: cannot find symbol variable EntityUtils` 

以下是我的build.gradle文件:

buildscript { 
    repositories { 
     maven { url 'https://maven.fabric.io/public' } 
    } 

    dependencies { 
     classpath 'io.fabric.tools:gradle:1.19.2' 
    } 
} 
apply plugin: 'com.android.application' 
apply plugin: 'io.fabric' 

repositories { 
    maven { url 'https://maven.fabric.io/public' } 
} 

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

    defaultConfig { 
     applicationId "com.radioafrica.music" 
     minSdkVersion 11 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:cardview-v7:23.0.1' 
    compile 'com.android.support:appcompat-v7:23.0.1' 
    compile 'com.android.support:recyclerview-v7:23.0.1' 
    compile 'com.android.support:palette-v7:23.0.1' 
    compile 'com.android.support:design:23.0.1' 
    compile 'com.android.support:support-v4:23.0.1' 
    compile 'com.facebook.android:facebook-android-sdk:4.1.0' 
    compile 'com.squareup.picasso:picasso:2.5.2' 
    compile 'com.squareup.okhttp:okhttp:2.4.0' 
    compile 'de.hdodenhof:circleimageview:1.3.0' 
    compile 'com.github.ksoichiro:android-observablescrollview:1.5.0' 
    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true; 
    } 
    compile('com.twitter.sdk.android:twitter:[email protected]') { 
     transitive = true; 
    } 
    compile 'com.nineoldandroids:library:2.4.0' 

} 
+0

请您的build.gradle添加到您的文章 –

回答

6

经过一番研究,我发现,该库实际上是包含在编译和包装,但在IDE中未显示。

作为一种变通方法,您可以删除线

useLibrary 'org.apache.http.legacy' 

Android/Sdk/platforms/android-23/optionallibs文件夹中复制文件org.apache.http.legacy.jar在您的项目。

的人报告这个问题参考

https://code.google.com/p/android/issues/detail?id=181474

https://code.google.com/p/android/issues/detail?id=183668

+0

我已经更新至V1.3.1,但问题仍然存在 –

+0

也许你应该告诉我们你遇到的错误? –

+0

检查更新的问题是否有错误。 –