Асинхронный Loopj — AsyncHttpClient: отсутствует метод setCoookieStore()

Я пытаюсь реализовать приведенный здесь пример приложения для Android.

Я установил все зависимости, как указано, но когда я запускаю код на реальном телефоне, сообщения об ошибках предполагают (я думаю!), что метод setCoookieStore() не существует, и это приводит к проблемам в будущем. Действительно ли это проблема с AsyncHttpClient или это нужно делать в родительском классе? Как я могу решить эту проблему?

Я пытался немного погуглить, но большинство результатов не кажутся релевантными и довольно часто не в моей голове (новичок в разработке Android...). Это кажется самым близким, что я мог найти, но я не уверен, правильно ли это или как это реализовать, если это так: Использование файлов cookie в действиях при использовании HttpClient.

Спасибо за помощь!


Это общая серия сообщений об ошибках.

04-29 05:58:24.386 6867-6867/? E/Zygote: MountEmulatedStorage()
04-29 05:58:24.386 6867-6867/? E/Zygote: v2
04-29 05:58:24.386 6867-6867/? E/Zygote: accessInfo : 0
04-29 05:58:24.386 6867-6867/? E/SELinux: [DEBUG] get_category: variable seinfo: default sensitivity: NULL, cateogry: NULL
04-29 05:58:25.066 6867-6867/com.empatica.empalinksample E/EMPA_C: Loaded
04-29 05:58:25.086 6867-6867/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                 Process: com.empatica.empalinksample, PID: 6867
                                                 java.lang.NoSuchMethodError: No virtual method setCookieStore(Lorg/apache/http/client/CookieStore;)V in class Lcom/loopj/android/http/AsyncHttpClient; or its super classes (declaration of 'com.loopj.android.http.AsyncHttpClient' appears in /data/app/com.empatica.empalinksample-2/base.apk)
                                                     at com.empatica.empalink.EmpaDeviceManager.<init>(EmpaDeviceManager.java:180)
                                                     at com.empatica.empalink.EmpaDeviceManager.<init>(EmpaDeviceManager.java:166)
                                                     at com.empatica.sample.MainActivity.onCreate(MainActivity.java:64)
                                                     at android.app.Activity.performCreate(Activity.java:6550)
                                                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1120)
                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3108)
                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3263)
                                                     at android.app.ActivityThread.access$1000(ActivityThread.java:197)
                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1687)
                                                     at android.os.Handler.dispatchMessage(Handler.java:102)
                                                     at android.os.Looper.loop(Looper.java:145)
                                                     at android.app.ActivityThread.main(ActivityThread.java:6897)
                                                     at java.lang.reflect.Method.invoke(Native Method)
                                                     at java.lang.reflect.Method.invoke(Method.java:372)
                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

person Afflatus    schedule 29.04.2016    source источник


Ответы (1)


Очевидно, мне нужно было добавить «useLibrary 'org.apache.http.legacy'» в файл build.gradle моего приложения и убедиться, что compileSdkVersion и buildToolsVersion указывают на 23 (вместо 21, как было раньше).

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.1'
    useLibrary 'org.apache.http.legacy'
....
person Afflatus    schedule 02.05.2016