为什么警告:无法find可选库:org.apache.http.legacy发生?

我的gradle文件:

apply plugin: 'com.android.application' android { useLibrary 'org.apache.http.legacy' compileSdkVersion 23 buildToolsVersion "23.0.0" defaultConfig { applicationId "com.skripsi.irwanto.paud" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProauardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.11 } } 

我得到Warning:Unable to find optional library: org.apache.http.legacy

Solutions Collecting From Web of "为什么警告:无法find可选库:org.apache.http.legacy发生?"

我猜,解决这个问题而不必重新安装SDK的更简单的方法是在<sdk-path>\platforms\android-23\optional\目录下创build一个名为optional.json的文件,其内容如下:

 [ { "name": "org.apache.http.legacy", "jar": "org.apache.http.legacy.jar", "manifest": false } ] 

它解决了我的问题。


编辑 :信息来自@ domoch的答案如何find您的SDK位置

find您的Android SDK的位置

转到Android Studio Settings -> Appearence & Behavior -> System Settings然后查找Android SDK Location 。 在Windows中,通常会指向C:\Users\<username>\AppData\Local\Android\sdk

我有完全相同的问题。 请检查是否有适当的android-sdk-windows\platforms\android-23\optional\optional.json文件。 如果没有,那么只需重新安装API 23(删除并重新安装)。

为什么? 如果你在Windows上使用Android Studio,那么optional.json文件不应该只在\Program Files (x86)\...\platforms\android-23\optional\

所以:进入Android Studio Settings -> Appearence & Behavior -> System Settings ,findAndroid SDK Location ,在相应的文件夹中复制(或创build) optional.json 。 或只是编辑Android SDK Location \Program Files (x86)\...

在我的情况下,Android SDK位置是C:\ Users \ Usernade \ AppData \ Local \ Android \ sdk,没有optional.json文件。

  1. 设置 – >出现和行为 – >系统设置,然后查找Android SDK位置

  2. platforms/Android 23/optional/

  3. org.apache.http.legacy jar文件是复制和粘贴你的android studio项目lib和这个jar文件gradle编译文件( 'libs/org.apache.http.legacy.jar'

错误在于optional.json文件不在<sdk-path>\platforms\android-23\optional\文件夹中。

我通过以下解决了这个问题:

  1. 去sdk经理
  2. selectAndroid Sdk并在适当的API级别提供更新。
  3. 只需更新它。