Android Studio - 无法找到可选库:org.apache.http.legacy

时间:2016-12-01 20:54:21

标签: android sdk

我正在制作一款具有导航抽屉功能的Android应用。我记得我使用了一些要求sdk版本为24的功能,所以compileSdkVersion需要24以及targetSdkVersion,但我的Android手机只有19,所以我没有看到我的手机上下载的应用程序,它是我完成项目运行后打开但是当我关闭手机上的标签时,我无法再打开它。所以我尝试将compileSdkVersion和targetSdkVersion更改为19,但我遇到此错误:无法找到可选库:org.apache.http.legacy

的build.gradle:

apply plugin: 'com.android.application'

android {
compileSdkVersion 19
buildToolsVersion "25.0.0"
defaultConfig {
    applicationId "com.marivel.cruz.threatmapping"
    minSdkVersion 17
    targetSdkVersion 19
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    multiDexEnabled true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
signingConfigs {}
buildTypes {}

useLibrary 'org.apache.http.legacy'
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:19.+'
compile 'com.android.support:support-v4:19.1.0'
compile 'com.google.android.gms:play-services-maps:9.8.0'
compile 'com.android.support:multidex:1.0.0'
compile 'com.google.android.gms:play-services:9.8.0'
testCompile 'junit:junit:4.12'
}

1 个答案:

答案 0 :(得分:0)

这似乎是一种解决方法,但尝试注释掉使用库行并在gradle构建文件中的依赖项下添加以下内容:

dependencies {
compile files('libs/httpclient-4.4.jar')  
compile files('libs/httpcore-4.4.jar')
compile files('libs/httpmime-4.3.6.jar')
}

您必须从apache下载这些文件并将它们添加到libs目录中。这之前对我有用,但正如我所说,感觉有点像解决方法。

您可以在此处找到这些jar文件:

Httpclient

Httpcore

Httpmime