Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 4.4中指纹对话框API 19上的java.lang.VerifyError_Java_Android_Android Fingerprint Api - Fatal编程技术网

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

Android 4.4中指纹对话框API 19上的java.lang.VerifyError,java,android,android-fingerprint-api,Java,Android,Android Fingerprint Api,当我的流应该打开指纹对话框时,我面临一个问题。 但是我知道API 19不支持指纹身份验证,因为我的指纹对话框类检查当前版本,并且应该在那里处理它 我调试了它,看到应用程序在进入FingerPrintDialog类之前在这里崩溃了 FingerPrintDialog fingerPrintDialog = FingerPrintDialog.newInstance(cardId, userId, purchaseId, savedCardList, selectedShippingMethod,

当我的流应该打开指纹对话框时,我面临一个问题。 但是我知道API 19不支持指纹身份验证,因为我的指纹对话框类检查当前版本,并且应该在那里处理它

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

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

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)
YesKeyPermanentlyInvalidateException看起来无法处理API 23以下的异常,但我已经提前进行了版本检查

我觉得调用静态方法FingerDialog.newInstance可能有问题,但我没有经验,所以我不确定


什么会导致这个问题

您的版本检查可能不正确。但由于您没有发布代码,我们无法判断。在找到您的问题之前,我一直遇到相同的问题,因为您提到“KeyPermanentlyInvalidateException看起来无法处理API 23以下的问题”,您让我意识到,因为KeyPermanentlyInvalidateException可能在API 19设备中不可用,这就是我所经历的。所以我用一个通用的“异常”替换了KeyPermanentlyInvalideException。我刚刚也遇到过这个问题。整个指纹扫描逻辑使用API 23以上的代码,那么为什么只是KeyPermanentlyInvalidateException导致应用程序在Android 5设备上崩溃?Gian Patrick Quintana的评论就是这个问题的答案!非常感谢。