Ошибки с async-http-client на android

При добавлении библиотеки async-http-client в качестве зависимости от gradle в момент компиляции выдает ошибку.

build.gradle:

введите здесь описание изображения

Журнал ошибок: введите здесь описание изображения

Любое решение?


person Lorenzo    schedule 12.05.2016    source источник


Ответы (4)


Отказ от ответственности: я разработчик AsyncHttpClient

Вы не сможете использовать AsyncHttpClient на Android. Он использует API-интерфейсы JDK, которые доступны только в JDK8 (и некоторые API-интерфейсы JDK7, которые никогда не были представлены в Android, даже в предположительно/заявленном JDK7-совместимом Android SDK, например SSLParameters.html#setEndpointIdentificationAlgorithm).

Эта библиотека нацелена на высокопроизводительный неблокирующий ввод-вывод для связи между серверами, и я разрабатываю ее только как базовую библиотеку HTTP для Gatling. . Поддержка Android не является целью, поскольку она слишком сильно конфликтует.

IMO, Android — это нарушенная экосистема (фрагментация, совместимость с JDK6, несовместимость с OpenJDK), и разработчики Android должны использовать специализированные библиотеки Android, разработанные людьми, которые действительно интересуются Android. Для HTTP-клиента Android я бы рекомендовал Square OkHttp.

person Stephane Landelle    schedule 13.05.2016

На вашем экране ошибок я вижу это.

Если вы используете плагин 'java' gradle в подмодуле библиотеки, добавьте targetCompatibility = '1.7' sourceCompatibility = '1.7' в файл build.gradle этого подмодуля.

Если я не ошибаюсь, плагин Gradle для Android расширяет плагин «java», поэтому вы можете просто добавить эти две строки в свой блок «android» в вашем build.gradle:

apply plugin: 'com.android.application'

android {

    targetCompatibility = '1.7'
    sourceCompatibility = '1.7'

    ...
}
person Community    schedule 12.05.2016

Добавьте это в файл build.gradle вашего подмодуля defaultConfig, и он должен работать.

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
person Exception    schedule 12.05.2016

Это связано с тем, что вы выполняете приложение, которое использует java 1.8, но для библиотеки может потребоваться 1.7.

попробуйте это решение, перейдите в Файл- > Структура проекта- > Приложение- > (вкладка свойств) измените исходную и целевую совместимость на 1.7

Если это не работает, попробуйте установить jdk 1.7.

person akhil Rao    schedule 12.05.2016