指纹对话框API 19,Android 4.4上的java.lang.VerifyError

时间:2017-08-28 01:46:07

标签: java android android-fingerprint-api

当我的流程打开指纹对话框时,我正面临着问题。 但是我知道API 19不支持指纹认证,因为我的FingerPrintDialog类会检查当前版本,它应该在那里处理它。

我调试它,看到应用程序在进入FingerPrintDialog类之前崩溃了。

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

堆栈跟踪是:

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)

KeyPermanentlyInvalidatedException 看起来无法在API 23下面处理,但我已经在它之前进行了版本检查。

我觉得可能存在调用静态方法 FingerPrintDialog.newInstance 的问题,但我没有经历过,所以我不确定。

什么可能导致这个问题?

0 个答案:

没有答案