Gradle не удалось синхронизировать с «неспособным найти дополнительную библиотеку»,

Мне пришлось переустановить мою систему, и сегодня я получаю эту ошибку в Android Studio, когда я пытаюсь синхронизировать с градиентом:

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

Мой градиент проекта:

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.3.0' } } allprojects { repositories { mavenCentral() } } 

И моя модульная градация:

 apply plugin: 'android' android { useLibrary 'org.apache.http.legacy' compileSdkVersion 23 buildToolsVersion '23.0.2' defaultConfig { minSdkVersion 16 targetSdkVersion 23 } buildTypes { release { } } productFlavors { } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:support-v4:23.1.1' compile 'com.android.support:appcompat-v7:23.1.1' } 

Из документов google :

Чтобы продолжить использование API-интерфейсов Apache HTTP, вы должны сначала объявить следующую зависимость времени компиляции в файле build.gradle:

 android { useLibrary 'org.apache.http.legacy' } 

Я пробовал упоминать предложения в этой теме, но они не работают. Тот же результат с предварительным просмотром версии 1.5 и 2 для Android.

Как я могу это исправить?

Изменить : все, что я пробовал до сих пор:

  1. Измените варианты пути gradle classpath до 1.3.0, 1.3.1, 1.5.0.

  2. Измените compileSdkVersion и targetSdkVersion на 22. Также buildToolsVersion от 23.0.1, 23.0.0, 22.0.1.

Solutions Collecting From Web of "Gradle не удалось синхронизировать с «неспособным найти дополнительную библиотеку»,"

Верхний уровень build.gradle – /build.gradle

 buildscript { ... dependencies { classpath 'com.android.tools.build:gradle:1.3.1' } } 

Специфический модуль build.gradle – /app/build.gradle

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

Добавьте org.apache.http.legacy.jar, который находится в папке Android / Sdk / platform / android-23 / optional в каталог app / libs и синхронизируйте ваш проект

В моем случае это не сработало, потому что я отсутствовал optional.json в <sdk-path>\platforms\android-23\optional\ , со следующим содержимым:

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

Создание нового JSON-файла с вышеуказанным содержимым решило проблему для меня.

После много работы эти решения работают для меня. ** Studio \ Android \ sdk \ platform ** здесь удалите ваш android-23 и обновите обновление api 23 sdk manager. **. Он решит вашу проблему.

Обновите файл градиента проекта, чтобы использовать версию 1.3.1 градиента.

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

Также попробуйте добавить репозиторий codehause.

 repositories { mavenCentral() maven{ url 'http://repository.codehaus.org' } } 

В моем случае проблема действительно возникала, потому что у меня не было правильного SDK, установленного на этом компьютере. Навигация по .../Android/Sdk/platforms/android-23 Я видел, что папка пуста. Добавление SDK 23 с помощью менеджера SDK устранило проблему и разрешило мне скомпилировать.

Вы должны вручную проверить, что у вас установлена compileSdkVersion и та же версия SDK, указанная в файле compileSdkVersion в файле build.gradle.

Чтобы сэкономить время, 2 решения лучше всего подходят для меня.

Решение 1:

Откройте менеджер Android sdk и переустановите API 23 (удалите и установите снова).

Решение 2:

Загрузите этот файл, который содержит файл extra.json, и переместите файл optional.json в:

C: \ Users \\ AppData \ Local \ Android \ SDK \ платформа \ андроид-23 \ опционально

Вам необходимо добавить файл org.apache.http.legacy.jar jar в папку приложения / libs проекта Android Stuido.

  Jar Location - `<SDK LOCATION>\android-sdk\platforms\android-23\optional` 

Для этого просто щелкните правой кнопкой мыши по вашему проекту и выберите « Show in Explorer затем перейдите в ...\app\libs и вставьте над файлом jar и синхронизируйте проект с файлом Gradle

Module:app

 android { compileSdkVersion 'Google Inc.:Google APIs:23' buildToolsVersion "24.0.0" defaultConfig { applicationId "<ur_app_id>" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } 

Если выше решение не работает, попробуйте этот путь

Недавно я столкнулся с этой проблемой, и это вызвано ограничением длины пути. Я думаю, что он имеет максимум 256 символов.

Переместите свой проект, и сборка будет успешной.

  1. Скопируйте « sdk \ platform \ android-23 \ optional \ org.apache.http.legacy.jar » в каталог ваших модулей приложений, а затем добавьте в качестве библиотеки;
  2. Если вы включите proguard, отредактируйте « proguard-rules.pro », чтобы сохранить связанные классы или исключение.