java.lang.VerifyError on finger print dialog API 19, Android 4.4

553 views Asked by At

I am facing with issue when my flow supposed to open the fingerprint dialog. However I am aware that API 19 doesn't support Fingerprint authentication tho my FingerPrintDialog class checks the current version and it supposed to handle it there.

I debug it and see that the app crashes over here before get into the FingerPrintDialog class.

FingerPrintDialog fingerPrintDialog = FingerPrintDialog.newInstance(cardId, userId, purchaseId, savedCardList, selectedShippingMethod, selectedShippingAddress);

And the stacktrace is:

08-27 21:32:22.478 24758-24758/com.bkm.b2c W/dalvikvm: VFY: unable to resolve exception class 155 (Landroid/security/keystore/KeyPermanentlyInvalidatedException;)
08-27 21:32:22.478 24758-24758/com.bkm.b2c W/dalvikvm: VFY: unable to find exception handler at addr 0x2a
08-27 21:32:22.478 24758-24758/com.bkm.b2c W/dalvikvm: VFY:  rejected Lcom/bkm/b2c/FingerPrintDialog;.cipherInit ()Z
08-27 21:32:22.478 24758-24758/com.bkm.b2c W/dalvikvm: VFY:  rejecting opcode 0x0d at 0x002a
08-27 21:32:22.482 24758-24758/com.bkm.b2c W/dalvikvm: VFY:  rejected Lcom/bkm/b2c/FingerPrintDialog;.cipherInit ()Z
08-27 21:32:22.482 24758-24758/com.bkm.b2c W/dalvikvm: Verifier rejected class Lcom/bkm/b2c/FingerPrintDialog;
08-27 21:32:58.049 24758-24758/com.bkm.b2c D/AndroidRuntime: Shutting down VM
08-27 21:32:58.049 24758-24758/com.bkm.b2c W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0xa4cdab20)
08-27 21:32:58.617 24758-24758/com.bkm.b2c E/UncaughtException: java.lang.VerifyError: com/bkm/b2c/FingerPrintDialog
                                                                        at com.bkm.b2c.activity.PaymentCompleteActivity$2.onClick(PaymentCompleteActivity.java:155)
                                                                        at android.view.View.performClick(View.java:4438)
                                                                        at android.view.View$PerformClick.run(View.java:18422)
                                                                        at android.os.Handler.handleCallback(Handler.java:733)
                                                                        at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                        at android.os.Looper.loop(Looper.java:136)
                                                                        at android.app.ActivityThread.main(ActivityThread.java:5001)
                                                                        at java.lang.reflect.Method.invokeNative(Native Method)
                                                                        at java.lang.reflect.Method.invoke(Method.java:515)
                                                                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
                                                                        at dalvik.system.NativeStart.main(Native Method)

Yes KeyPermanentlyInvalidatedException looks like cannot handle below API 23 but I already make a version check ahead of it.

I feel like there might be a problem of calling static method FingerPrintDialog.newInstance but I am not experienced it so I am not sure.

What could cause this problem?

0

There are 0 answers