card-io / card.io-Android-SDK

card.io provides fast, easy credit card scanning in mobile apps
Other
1.99k stars 532 forks source link

Class not found exception #190

Open Nagamalleswara opened 7 years ago

Nagamalleswara commented 7 years ago

General information

Issue description

We are integrating card.io sdk in our own library. We distribute the library to third party vendors to integrate it into their applications. Using following code to start card scanning :

                Intent scanIntent = new Intent(AddCreditCardActivity.this, CardIOActivity.class);
                scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_EXPIRY, true);
                scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_POSTAL_CODE, true);
                startActivityForResult(scanIntent, MY_SCAN_REQUEST_CODE);

But getting following exception :

java.lang.NoClassDefFoundError: Failed resolution of: Lio/card/payment/CardIOActivity; at com.sample.sdk.ui.activities.AddCreditCardActivity$8.onClick(AddCreditCardActivity.java:528) at android.view.View.performClick(View.java:5269) at android.view.View$PerformClick.run(View.java:21548) at android.os.Handler.handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:207) at android.app.ActivityThread.main(ActivityThread.java:5740) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:766) Caused by: java.lang.ClassNotFoundException: Didn't find class "io.card.payment.CardIOActivity" on path: DexPathList[[zip file "/data/app/com.sample.SampleApp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.sample.SampleApp-1/lib/arm64, /vendor/lib64, /system/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at com.sample.sdk.ui.activities.AddCreditCardActivity$8.onClick(AddCreditCardActivity.java:528)  at android.view.View.performClick(View.java:5269)  at android.view.View$PerformClick.run(View.java:21548)  at android.os.Handler.handleCallback(Handler.java:815)  at android.os.Handler.dispatchMessage(Handler.java:104)  at android.os.Looper.loop(Looper.java:207)  at android.app.ActivityThread.main(ActivityThread.java:5740)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:766)  Suppressed: java.lang.ClassNotFoundException: io.card.payment.CardIOActivity at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 11 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available 04-27 11:45:27.953 940-986/? D/SettingsInterface: from settings cache , name = full_screen_expand_statusbar , value = 1 04-27 11:45:27.960 16478-16478/com.sample.SampleApp E/AndroidRuntime: FATAL EXCEPTION: main Process: com.sample.SampleApp, PID: 16478 java.lang.NoClassDefFoundError: Failed resolution of: Lio/card/payment/CardIOActivity; at com.sample.sdk.ui.activities.AddCreditCardActivity$8.onClick(AddCreditCardActivity.java:528) at android.view.View.performClick(View.java:5269) at android.view.View$PerformClick.run(View.java:21548) at android.os.Handler.handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:207) at android.app.ActivityThread.main(ActivityThread.java:5740) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:766) Caused by: java.lang.ClassNotFoundException: Didn't find class "io.card.payment.CardIOActivity" on path: DexPathList[[zip file "/data/app/com.sample.SampleApp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.sample.SampleApp-1/lib/arm64, /vendor/lib64, /system/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at com.sample.sdk.ui.activities.AddCreditCardActivity$8.onClick(AddCreditCardActivity.java:528)  at android.view.View.performClick(View.java:5269)  at android.view.View$PerformClick.run(View.java:21548)  at android.os.Handler.handleCallback(Handler.java:815)  at android.os.Handler.dispatchMessage(Handler.java:104)  at android.os.Looper.loop(Looper.java:207)  at android.app.ActivityThread.main(ActivityThread.java:5740)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:766)  Suppressed: java.lang.ClassNotFoundException: io.card.payment.CardIOActivity at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 11 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available