Android应用程序中拒绝的类

时间:2012-03-01 17:24:33

标签: java android

以下是我的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开发人员指南。

我如何对此进行故障排除或追踪错误?

2 个答案:

答案 0 :(得分:2)

如果您在StackOverflow中搜索VerifyError和Android,您会发现一些可能有助于您开始使用的好帖子:Android java.lang.VerifyError?我怀疑您会发现这一点很高(但未被接受)建议,您在Java中使用的某些方法不支持您的API级别。

答案 1 :(得分:0)

尝试使用Oracle JVM而不是OpenJDK ......这解决了我的神秘问题。