Ошибки с async-http-клиентом на Android

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

build.gradle:

Журнал ошибок:

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

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's OkHttp.

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

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

Это потому, что вы выполняете приложение, которое использует Java 1.8, но библиотека может потребовать 1,7

попробуйте это решение, перейдите в Файл-> Структура проекта-> Приложение ->(вкладка свойств) измените Source and Target Compability на 1.7

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

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

Если вы используете подключаемый модуль java в подмодуле библиотеки, добавьте 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'

    ...
}
Другие вопросы по тегам