Tinkoff / invest-api-java-sdk

Tinkoff Invest API Java SDK
Apache License 2.0
76 stars 21 forks source link

Ошибка при вызове InvestApi.create #14

Open progamer75 opened 2 years ago

progamer75 commented 2 years ago

При вызове InvestApi.create(...) приложение вылетает с ошибкой: java.lang.NoSuchMethodError: No virtual method getPackageName()Ljava/lang/String; in class Ljava/lang/Class; or its super classes (declaration of 'java.lang.Class' appears in /apex/com.android.runtime/javalib/core-oj.jar)

zlumyo commented 2 years ago

Вы пытаетесь подключить SDK к проекту для Android? Насколько мне известно, там используется Java 8, в то время как SDK требует не менее чем 11.

progamer75 commented 2 years ago

Да, вопрос в том как использовать ваше api в андроид. Первая версия нормально работала, ну не совсем нормально, но работала. Переписал под вторую версию api и получил обломс.

 

Четверг, 24 марта 2022, 21:13 +03:00 от Vladimir Ivanov @.***>:     Вы пытаетесь подключить SDK к проекту для Android? Насколько мне известно, там используется Java 8, в то время как SDK требует не менее чем 11. — Reply to this email directly, view it on GitHub , or unsubscribe . You are receiving this because you authored the thread. Message ID: <Tinkoff/invest-api-java-sdk/issues/14/1077907947 @ github . com>    

Владимир Трибунский Отправлено из Почты Mail.ru  

hommeideal commented 2 years ago

Тоже столкнулся с этой проблемой. Попытался обойти ошибку No virtual method getPackageName(), но дальше появляется новая Didn't find class "java.time.Duration". Писать костыль для этого не хочется, так как неизвестно какие ошибки ещё могут появиться. Придется использовать gRPC. А жаль, этот api очень упростил бы разработку. Не планируете адаптировать api для андроид?

progamer75 commented 2 years ago

Там много чего появляется. grpc-netty-shaded не работает под андроид, надо заменить на grpc-okhttp. Но все равно не работает, пока не могу разобраться. Тинькофф обещали подумать над Android SDK, было бы неплохо.

progamer75 commented 2 years ago

Удалось таки подправить SDK так чтобы оно работало под Android. Исправлений не много, но разбираться пришлось почти неделю )

AlexanderVolkovTCS commented 2 years ago

Удалось таки подправить SDK так чтобы оно работало под Android. Исправлений не много, но разбираться пришлось почти неделю )

@progamer75 Спасибо. А можете поделиться PR-ом с сообществом?)

progamer75 commented 2 years ago

вот собственно... https://github.com/progamer75/InvestAPI В InvestApi.java: public static Channel defaultChannel(String token) {... keepAliveTime и keepAliveTimeout поставил от балды 60 сек