У меня есть простой класс, написанный в Android Studio:
package com.mysite.myapp;
import org.apache.http.client.HttpClient;
public class Whatever {
public void headBangingAgainstTheWallExample () {
HttpClient client = new DefaultHttpClient();
}
}
и из этого я получаю следующую ошибку времени компиляции:
Cannot resolve symbol HttpClient
Не HttpClient
входит в Android Studio SDK? Даже если это не так, я добавил его в свою сборку Gradle следующим образом:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'org.apache.httpcomponents:httpclient:4.5'
}
С последней строкой компиляции или без нее ошибка одинакова. Что мне не хватает?
AndroidHttpClient
если можете. Заглушки HttpClient действительно содержатся внутри jar-файла Android, поэтому нет необходимости явно ссылаться на него. Обратите внимание, что версия httpclient для Android, вероятно, 4.1.1. Попытка использовать более новую версию вдобавок к этому обычно вызывает проблемы (читай: не работает, потому что всегда загружается загрузчик классов прошивки).Ответы:
HttpClient
больше не поддерживается в SDK 23. Вы должны использоватьURLConnection
или понизить до SDK 22 (compile 'com.android.support:appcompat-v7:22.2.0'
)Если вам нужен SDK 23, добавьте это в ваш gradle:
Вы также можете попробовать загрузить и включить JttpClient jar непосредственно в ваш проект или использовать вместо него OkHttp.
источник
android { useLibrary 'org.apache.http.legacy' }
[когда вы добавляете это] [1] «org.apache.http» у android-studio все еще есть советы: «Не удается распознать символ» [2] это может сделать сборка android-studio (с sdk23). хотя есть советы (не удается разрешить символ) [3], если вы добавляете jar, он не содержит подсказок, может создавать, но !!! не может работать, потому что у него две копии 'org.apache.http'Volley
библиотеку, обратите внимание, что это дополнение строки грейдера должно входить в файл грейдла для библиотеки, а не в ваше приложение. Работает отлично! Благодаря тонну!HttpClient устарел на уровне API 22 и удален на уровне API 23. Вы можете по-прежнему использовать его на уровне API 23 и выше, если необходимо, однако лучше перейти на поддерживаемые методы для обработки HTTP. Итак, если вы компилируете с 23, добавьте это в свой build.gradle:
источник
android { useLibrary 'org.apache.http.legacy' }
[когда вы добавляете это] [1] «org.apache.http» у android-studio все еще есть советы: «Не удается распознать символ» [2] это может сделать сборка android-studio (с sdk23). хотя есть советы (не удается разрешить символ) [3], если вы добавляете jar, он не содержит подсказок, может создавать, но !!! не может работать, потому что у него есть две копии 'org.apache.http'Ответ TejaDroid по ссылке ниже помог мне. Не удается импортировать org.apache.http.HttpResponse в Android Studio
источник
Чтобы использовать Apache HTTP для SDK уровня 23:
Верхний уровень build.gradle - /build.gradle
Уведомление от студии Android об обновлении gradle:
Специфичный для модуля build.gradle - /app/build.gradle
источник
Попробуйте это сработало для меня Добавьте эту зависимость в ваш файл build.gradle
источник
1 - скачайте jar-файлы Apache (по состоянию на этот ответ). 4.5.zip-файл:
https://hc.apache.org/downloads.cgi?Preferred=http%3A%2F%2Fapache.arvixe.com%2F
2- откройте zip-копию jar-файлов в папку libs. Вы можете найти его, если зайдете в начало вашего проекта, где написано «Android», вы найдете список, когда вы щелкните по нему. Так,
Затем поставьте туда банки.
3- В build.gradle (Модуль: приложение) добавить
в
4- В классе Java добавить эти импорт:
источник
HttpClient больше не поддерживается в SDK 23. В версии Android 6.0 (API Level 23) удалена поддержка HTTP-клиента Apache. Вы должны использовать
а также добавьте приведенный ниже фрагмент кода в свою зависимость:
// http окончательное решение для веб-сервиса (включая загрузку файлов)
Это также поможет вам при использовании «Использовать MultipartEntity для загрузки файлов» .
источник
в API 22 они устарели, а в API 23 их полностью удалили. Простой обходной путь, если вам не нужны все причудливые вещи из новых дополнений, - это просто использовать файлы .jar из apache, которые были интегрированы до API 22, но как отдельные файлы .jar:
источник
Если вы хотите импортировать некоторый класс, например:
Вы можете добавить следующую строку в build.gradle (зависимости Gradle)
источник
Вы можете просто добавить это в зависимости Gradle:
источник
HttpGet
. Для этого я использовалcompile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
В выпуске Android 6.0 (API Level 23) устранена поддержка HTTP-клиента Apache. Следовательно, вы не можете использовать эту библиотеку напрямую в API 23. Но есть способ использовать ее. Добавьте useLibrary org.apache.http.legacy в свой файл build.gradle, как показано ниже:
Если это не работает, вы можете применить следующие
- Скопируйте org.apache.http.legacy.jar, который находится в / platform / android-23 / необязательном пути вашего каталога Android SDK, в папку app / libs вашего проекта.
- Теперь добавьте файлы компиляции ('libs / org.apache.http.legacy.jar') внутри раздела зависимостей {} файла build.gradle.
источник
Клиент ApacheHttp удаляется в v23 SDK. Вы можете использовать HttpURLConnection или сторонний Http Client, например OkHttp.
ссылка:
https://developer.android.com/preview/behavior-changes.html#behavior-apache-http-client
источник
HttpUrlConnection
фактически поощряется вместо HttpClientПросто используйте это: -
источник
HttpClient не поддерживается в SDK 23 и 23+.
Если вам нужно использовать в SDK 23, добавьте код ниже для вашего gradle:
Это работает для меня. Надеюсь, полезно для вас.
источник
Если вам нужен SDK 23, добавьте это в ваш gradle:
источник
Вы должны добавить только одну строку
в build.gradle (модуль: приложение), например
источник
Какую цель API вы используете в своем проекте?
AndroidHttpClient
только для API уровня 8 <. и, пожалуйста, посмотрите здесьнаслаждайся своим кодом :)
источник
Как упоминалось ранее,
org.apache.http.client.HttpClient
больше не поддерживается в:SDK (уровень API) # 23.
Вы должны использовать
java.net.HttpURLConnection
.Если вы хотите , чтобы ваш код (и жизнь) проще при использовании
HttpURLConnection
, вотWrapper
из этого класса , который позволит вам делать простые операции сGET
,POST
и сPUT
использованиемJSON
, как, например, делатьHTTP PUT
.Не стесняйтесь использовать его.
источник
Добавьте эти две строки в зависимости
тогда
под андроидом
источник
Вставьте свой файл .jar в папку libs своего проекта. Затем в Gradle добавьте эту строку в ваш build.gradle (Модуль: приложение)
источник
Ошибка: (30, 0) метод Gradle DSL не найден: 'classpath ()' Возможные причины:
источник
Для Android API 28 и выше в Manifest.xml внутри тега приложения
источник
Я думаю, что в зависимости от того, какая у вас версия Android Studio, важно, чтобы вы также обновили свою андроид студию, я тоже разочаровался, следуя советам всех, но не повезло, пока мне не пришлось обновить версию андроида с 1.3 до 1.5, ошибки исчезли как магия.
источник