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

时间:2016-09-29 02:51:17

标签: android android-gradle apache-commons-httpclient

尝试了stackoverflow中的所有内容。我在下面列出了所有我试图纠正这个错误的内容:(我知道有很多答案。它仍然不适合我)

  1. 检查是否存在.json文件(检查)
  2. 添加" useLibrary' org.apache.http.legacy'"到app模块gradle文件(检查)
  3. 将.jar文件从sdk位置添加到libs(检查)
  4. 重新安装API 23(检查)
  5. 右键单击libs文件夹中的jar并添加到库(检查)
  6. 更改位置以避免256个字符。 (检查)
  7. 添加"编译fileTree(dir:' libs',include:[' * .jar'])" gradle文件依赖项(默认情况下存在)(检查)
  8. 这几乎是所有答案中的一切。任何人都可以提供解决方案吗?我已经在这10个小时了;重新安装和更改脚本。

    我的Gradle:

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.2"
        useLibrary 'org.apache.http.legacy'
    
        defaultConfig {
            applicationId "com.example.name"
            minSdkVersion 15
            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:appcompat-v7:24.0.0-alpha1'
    }
    

3 个答案:

答案 0 :(得分:1)

对我来说,我使用它并且有效:

android {
    useLibrary 'org.apache.http.legacy' // put it in here
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

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

答案 1 :(得分:1)

首先确保使用此gradle插件或更高版本:

classpath 'com.android.tools.build:gradle:1.3.1'

然后检查Android/Sdk/platforms/android-23/optional文件夹是否包含optional.json文件。

一个好主意是使用最新版本:

classpath 'com.android.tools.build:gradle:2.2.0'

如果没有此版本,您将无法处理useLibrary 'org.apache.http.legacy'

它与您的问题无关,但也检查您的依赖项和用于编译的API。

android {

     compileSdkVersion 24
     //....
}
dependencies {
      compile fileTree(dir: 'libs', include: ['*.jar'])
      compile 'com.android.support:appcompat-v7:24.2.1'
}

答案 2 :(得分:0)

我能够解决警告信息

    Unable to find optional library: org.apache.http.legacy

升级我的Android工作室。这是1.3.2。现在是2.2。