以下是我的Android应用程序正在显示的运行时异常的LogCat输出,首先是应用程序退出时生成的循环,然后是堆栈跟踪:
03-01 12:04:37.663: W/dalvikvm(2285): VFY: unable to resolve exception class 194 (Lcom/google/zxing/WriterException;)
03-01 12:04:37.663: W/dalvikvm(2285): VFY: unable to find exception handler at addr 0x4c
03-01 12:04:37.663: W/dalvikvm(2285): VFY: rejected Lcom/beslogic/profile/BLProfileBuilder;.saveProfileAsQRCode (Landroid/app/Activity;Lcom/beslogic/profile/BLProfileModel;Ljava/io/FileOutputStream;)Z
03-01 12:04:37.663: W/dalvikvm(2285): VFY: rejecting opcode 0x0d at 0x004c
03-01 12:04:37.663: W/dalvikvm(2285): VFY: rejected Lcom/beslogic/profile/BLProfileBuilder;.saveProfileAsQRCode (Landroid/app/Activity;Lcom/beslogic/profile/BLProfileModel;Ljava/io/FileOutputStream;)Z
03-01 12:04:37.663: W/dalvikvm(2285): Verifier rejected class Lcom/beslogic/profile/BLProfileBuilder;
03-01 12:07:31.633: E/AndroidRuntime(2285): FATAL EXCEPTION: main
03-01 12:07:31.633: E/AndroidRuntime(2285): java.lang.VerifyError: com.beslogic.profile.BLProfileBuilder
03-01 12:07:31.633: E/AndroidRuntime(2285): at com.urbanagenda.UAMemberActivity.completeTransaction(UAMemberActivity.java:401)
03-01 12:07:31.633: E/AndroidRuntime(2285): at com.beslogic.remotpayment.connection.PostJSONTask.sendTransactionComplete(PostJSONTask.java:175)
03-01 12:07:31.633: E/AndroidRuntime(2285): at com.beslogic.remotpayment.connection.PostJSONTask.onPostExecute(PostJSONTask.java:162)
03-01 12:07:31.633: E/AndroidRuntime(2285): at com.beslogic.remotpayment.connection.PostJSONTask.onPostExecute(PostJSONTask.java:1)
03-01 12:07:31.633: E/AndroidRuntime(2285): at android.os.AsyncTask.finish(AsyncTask.java:417)
03-01 12:07:31.633: E/AndroidRuntime(2285): at android.os.AsyncTask.access$300(AsyncTask.java:127)
03-01 12:07:31.633: E/AndroidRuntime(2285): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)
03-01 12:07:31.633: E/AndroidRuntime(2285): at android.os.Handler.dispatchMessage(Handler.java:99)
03-01 12:07:31.633: E/AndroidRuntime(2285): at android.os.Looper.loop(Looper.java:123)
03-01 12:07:31.633: E/AndroidRuntime(2285): at android.app.ActivityThread.main(ActivityThread.java:4627)
03-01 12:07:31.633: E/AndroidRuntime(2285): at java.lang.reflect.Method.invokeNative(Native Method)
03-01 12:07:31.633: E/AndroidRuntime(2285): at java.lang.reflect.Method.invoke(Method.java:521)
03-01 12:07:31.633: E/AndroidRuntime(2285): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:893)
03-01 12:07:31.633: E/AndroidRuntime(2285): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:651)
03-01 12:07:31.633: E/AndroidRuntime(2285): at dalvik.system.NativeStart.main(Native Method)
我有一个BLProfileBuilder所在的图书馆项目。这个项目引用了ZXING android项目,我也将其标记为库项目。还有对ZXING核心库的引用。通过添加外部.jar文件,一切都正确引用。我的主要应用是针对Android API级别8(2.2),而其他的则针对2.1。任何提示如何解决这个问题。我已经按照ZXING项目页面上的所有说明,以及用于添加库项目和第三方jar文件的Android开发人员指南。
我如何对此进行故障排除或追踪错误?
答案 0 :(得分:2)
如果您在StackOverflow中搜索VerifyError和Android,您会发现一些可能有助于您开始使用的好帖子:Android java.lang.VerifyError?我怀疑您会发现这一点很高(但未被接受)建议,您在Java中使用的某些方法不支持您的API级别。
答案 1 :(得分:0)
尝试使用Oracle JVM而不是OpenJDK ......这解决了我的神秘问题。