yoomoney / yookassa-android-sdk

This library allows implementing payment acceptance into mobile apps on Android. It works as an extension to the YooMoney API.
https://yookassa.ru/developers/payment-forms/android-sdk
MIT License
40 stars 22 forks source link

Падение при попытке оплаты Didn't find class "ru.yoomoney.sdk.tmx.TmxProfiler" #94

Closed RJSDevel closed 3 years ago

RJSDevel commented 3 years ago

implementation 'ru.yoomoney.sdk.kassa.payments:yookassa-android-sdk:6.4.1' android.enableR8 = true

После ввода карты: java.lang.NoClassDefFoundError: Failed resolution of: Lru/yoomoney/sdk/tmx/TmxProfiler; at ru.yoomoney.sdk.kassa.payments.di.i.get(Unknown Source:2) at dagger.internal.DoubleCheck.get(DoubleCheck.java:47) at ru.yoomoney.sdk.kassa.payments.contract.di.m.get(Unknown Source:1) at ru.yoomoney.sdk.kassa.payments.tokenize.di.g.get(Unknown Source:1) at ru.yoomoney.sdk.kassa.payments.tokenize.di.h.get(Unknown Source:1) at androidx.lifecycle.ViewModelKeyedFactory.create(Unknown Source:20) at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.java:185) at ru.yoomoney.sdk.kassa.payments.tokenize.w$a.invoke(Unknown Source:1) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at ru.yoomoney.sdk.kassa.payments.tokenize.w.b(Unknown Source:2) at ru.yoomoney.sdk.kassa.payments.tokenize.w.onViewCreated(Unknown Source:26) at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:2987) at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:546) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2106) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002) at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:233) at android.app.ActivityThread.main(ActivityThread.java:8035) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)

RJSDevel commented 3 years ago

ThreatMetrix Android SDK 5.4-73.aar в папке libs

chplalex commented 3 years ago

Та же проблема. Есть решение?

alasheev commented 3 years ago

Присоединяюсь

ipcross commented 3 years ago

+1

iskandarshabaev commented 3 years ago

С обновлением 6.4.1 нужно обновить файл библиотеки ThreatMetrix-Android-SDK.aar новой версией 6.2.97. Для получения новой версии файла ThreatMetrix-Android-SDK.aar нужно связаться с менеджером по подключению из YooKassa.

cosic commented 3 years ago

@iskandarshabaev Предлагаю эту информацию про нюансы обновление до 6.4.1+ указать в Release Notes, а в README.md указать поддержку версий

yookassa-android-sdk ThreatMetrix-Android-SDK
< 6.4.1 5.4-73
>= 6.4.1 6.2.97
alasheev commented 3 years ago

Не помогло. Всё так же после выбора карты и нажатия "Продолжить" приложение вылетает с такой же ошибкой. E/AndroidRuntime(21613): FATAL EXCEPTION: main E/AndroidRuntime(21613): Process: com.example.yoo_flutter_kassa_example, PID: 21613 E/AndroidRuntime(21613): java.lang.NoClassDefFoundError: Failed resolution of: Lru/yoomoney/sdk/tmx/TmxProfiler; E/AndroidRuntime(21613): at ru.yoomoney.sdk.kassa.payments.di.i.get(Unknown Source:2) E/AndroidRuntime(21613): at dagger.internal.DoubleCheck.get(DoubleCheck.java:47) E/AndroidRuntime(21613): at ru.yoomoney.sdk.kassa.payments.contract.di.m.get(Unknown Source:1) E/AndroidRuntime(21613): at ru.yoomoney.sdk.kassa.payments.tokenize.di.g.get(Unknown Source:1) E/AndroidRuntime(21613): at ru.yoomoney.sdk.kassa.payments.tokenize.di.h.get(Unknown Source:1) E/AndroidRuntime(21613): at androidx.lifecycle.ViewModelKeyedFactory.create(Unknown Source:20) E/AndroidRuntime(21613): at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.java:185) E/AndroidRuntime(21613): at ru.yoomoney.sdk.kassa.payments.tokenize.w$a.invoke(Unknown Source:1) E/AndroidRuntime(21613): at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) E/AndroidRuntime(21613): at ru.yoomoney.sdk.kassa.payments.tokenize.w.b(Unknown Source:2) E/AndroidRuntime(21613): at ru.yoomoney.sdk.kassa.payments.tokenize.w.onViewCreated(Unknown Source:26) E/AndroidRuntime(21613): at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:2987) E/AndroidRuntime(21613): at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:546) E/AndroidRuntime(21613): at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282) E/AndroidRuntime(21613): at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189) E/AndroidRuntime(21613): at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2106) E/AndroidRuntime(21613): at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002) E/AndroidRuntime(21613): at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524) E/AndroidRuntime(21613): at android.os.Handler.handleCallback(Handler.java:938) E/AndroidRuntime(21613): at android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime(21613): at android.os.Looper.loop(Looper.java:223) E/AndroidRuntime(21613): at android.app.ActivityThread.main(ActivityThread.java:7662) E/AndroidRuntime(21613): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(21613): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) E/AndroidRuntime(21613): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) E/AndroidRuntime(21613): Caused by: java.lang.ClassNotFoundException: Didn't find class "ru.yoomoney.sdk.tmx.TmxProfiler" on path: DexPathList[[zip file "/data/app/9C3GxzjWJZh7LuFwJzvOyw==/com.example.yoo_flutter_kassa_example-5vKuJUhBXKnJrqHJsn_rrQ==/base.apk"],nativeLibraryDirectories=[/data/app/9C3GxzjWJZh7LuFwJzvOyw==/com.example.yoo_flutter_kassa_example-5vKuJUhBXKnJrqHJsn_rrQ==/lib/arm64, /data/app/~~9C3GxzjWJZh7LuFwJzvOyw==/com.example.yoo_flutter_kassa_example-5vKuJUhBXKnJrqHJsn_rrQ==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64, /product/lib64]]

build.gradle:

rootProject.allprojects { repositories { google() mavenCentral() flatDir { dirs('../libs') } } }

dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'ru.yoomoney.sdk.kassa.payments:yookassa-android-sdk:6.4.1' files(name: 'ThreatMetrix Android SDK 6.2.97', ext: 'aar') }

RJSDevel commented 3 years ago

Мне помогло. implementation fileTree(dir: "libs", include: ["*.aar*"]) у меня еще было .jar**