PaystackHQ / paystack-android

Paystack SDK for Android. Accept payments on Android
Apache License 2.0
126 stars 101 forks source link

java.lang.NoClassDefFoundError: Failed resolution of: Lretrofit2/Callback #96

Closed VIROSOFT closed 3 years ago

VIROSOFT commented 4 years ago

implementation 'co.paystack.android:paystack:3.0.17' implementation 'co.paystack.android.design.widget:pinpad:1.0.4'

After updating to the above version, which I believe is the latest version, my app ran quite alright (the last few versions of Paystack sdk had previously prevented it from running), but now the app crash at the point where I called "PaystackSdk.chargeCard()" in my code. The degub message is as follows:

java.lang.NoClassDefFoundError: Failed resolution of: Lretrofit2/Callback; at co.paystack.android.Paystack.chargeCard(Paystack.java:67)... Caused by: java.lang.ClassNotFoundException: Didn't find class "retrofit2.Callback" on path: DexPathList

Please help fix this, and please ensure every release of the sdk is thoroughly tested and debugged before releasing to public. The last three versions before this all had one issue or the other. I do hope the next version will be stable.

I've had to downgrade back to: implementation 'co.paystack.android:paystack:3.0.11'

It's the only stable version working for me.

Eruoghene commented 4 years ago

I have been battling this same error for a few days. If not for this raised issue, they wouldn't respond via mail. Really not nice. E/AndroidRuntime: FATAL EXCEPTION: main Process: com.thelightinghaus.thelightinghaus, PID: 16746 java.lang.NoClassDefFoundError: Failed resolution of: Lretrofit2/Callback; at co.paystack.android.Paystack.chargeCard(Paystack.java:67) at co.paystack.android.Paystack.chargeCard(Paystack.java:57) at co.paystack.android.PaystackSdk.chargeCard(PaystackSdk.java:151) at com.thelightinghaus.thelightinghaus.activities.ShippingActivity.performCharge(ShippingActivity.java:464) at com.thelightinghaus.thelightinghaus.activities.ShippingActivity.validateCardInput(ShippingActivity.java:445) at com.thelightinghaus.thelightinghaus.activities.ShippingActivity.access$100(ShippingActivity.java:60) at com.thelightinghaus.thelightinghaus.activities.ShippingActivity$3.onClick(ShippingActivity.java:432) at android.view.View.performClick(View.java:7125) at android.view.View.performClickInternal(View.java:7102) at android.view.View.access$3500(View.java:801) at android.view.View$PerformClick.run(View.java:27340) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7397) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935) Caused by: java.lang.ClassNotFoundException: Didn't find class "retrofit2.Callback" on path: DexPathList[[zip file "/data/app/com.thelightinghaus.thelightinghaus-OKzWO2a4ukFFKkHPb3CdXg==/base.apk"],nativeLibraryDirectories=[/data/app/com.thelightinghaus.thelightinghaus-OKzWO2a4ukFFKkHPb3CdXg==/lib/arm64, /system/lib64, /system/product/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at co.paystack.android.Paystack.chargeCard(Paystack.java:67) at co.paystack.android.Paystack.chargeCard(Paystack.java:57) at co.paystack.android.PaystackSdk.chargeCard(PaystackSdk.java:151) at com.thelightinghaus.thelightinghaus.activities.ShippingActivity.performCharge(ShippingActivity.java:464) at com.thelightinghaus.thelightinghaus.activities.ShippingActivity.validateCardInput(ShippingActivity.java:445) at com.thelightinghaus.thelightinghaus.activities.ShippingActivity.access$100(ShippingActivity.java:60) at com.thelightinghaus.thelightinghaus.activities.ShippingActivity$3.onClick(ShippingActivity.java:432) at android.view.View.performClick(View.java:7125) at android.view.View.performClickInternal(View.java:7102) at android.view.View.access$3500(View.java:801) at android.view.View$PerformClick.run(View.java:27340) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7397) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)

That's the full stacktrace

michael-paystack commented 3 years ago

This issue should be fixed in newer versions of the SDK. I'm closing this now. Please open a new issue if you run into any problems.