将Xoom更新到3.1后,我遇到了VerifyError。 这是似乎引起它的代码。

public boolean goBack()
{
        if(_overlay == null || _pdfView == null) return false;

        _overlay.removeView(_pdfView);
        _overlay = null;
        _pdfView = null;

        return true;
}

其中_overlayFrameLayout_pdfView是用于呈现扩展了RelativeLayout PDF文档的类。 这是我得到的错误。

05-17 11:26:30.532: WARN/dalvikvm(14244): VFY: Ljava/lang/Object; is not instance of Landroid/view/View;
05-17 11:26:30.532: WARN/dalvikvm(14244): VFY: bad arg 1 (into Landroid/view/View;)
05-17 11:26:30.532: WARN/dalvikvm(14244): VFY:  rejecting call to Landroid/view/ViewGroup;.removeView (Landroid/view/View;)V
05-17 11:26:30.532: WARN/dalvikvm(14244): VFY:  rejecting opcode 0x6e at 0x000f
05-17 11:26:30.532: WARN/dalvikvm(14244): VFY:  rejected Lcom/bluediesel/shell/utils/JavaScriptInterface;.goBack ()Z
05-17 11:26:30.532: WARN/dalvikvm(14244): Verifier rejected class Lcom/bluediesel/shell/utils/JavaScriptInterface;
05-17 11:26:30.532: DEBUG/AndroidRuntime(14244): Shutting down VM
05-17 11:26:30.532: WARN/dalvikvm(14244): threadid=1: thread exiting with uncaught exception (group=0x401e2760)
...
05-17 11:26:30.542: ERROR/AndroidRuntime(14244): Caused by: java.lang.VerifyError: com.bluediesel.shell.utils.JavaScriptInterface
05-17 11:26:30.542: ERROR/AndroidRuntime(14244):     at com.bluediesel.shell.utils.BDWebViewClient.<init>(BDWebViewClient.java:15)
05-17 11:26:30.542: ERROR/AndroidRuntime(14244):     at com.bluediesel.shell.view.BDWebView.<init>(BDWebView.java:56)
05-17 11:26:30.542: ERROR/AndroidRuntime(14244):     at com.bluediesel.shell.view.BDWebView.<init>(BDWebView.java:42)
05-17 11:26:30.542: ERROR/AndroidRuntime(14244):     ... 24 more

如果我注释掉_overlay.removeView(_pdfView); 线工作正常。 就像不知道PdfView是View的子类一样。 PdfView在库中。 可以和它有什么关系吗?

#1楼 票数:1 已采纳

操作码0x6e是“调用虚拟”的,用于方法调用。 该消息由验证传递给目标方法的参数的代码发出。

“ Ljava / lang / Object;不是Landroid / view / View的实例;” 对我来说,合并了两种类型,并且验证程序在java.lang.Object下找不到通用的超类。 (如果抱怨“ PdfView不是View的实例”,那么我同意您的评估,即VM无法理解类关系。)

您可以粘贴goBack()的反汇编吗? 如果您在APK所在的APK上运行“ dexdump -d”并搜索“ com.bluediesel.shell.utils.JavaScriptInterface.goBack”,则应跳至该位置。 只需包括该方法的反汇编字节码的(20-ish?)行即可。

  ask by CaseyB translate from so

未解决问题?本站智能推荐:

1回复

Android库“ commons-lang3-3.1”导入错误

嗨,我在Android Studio中导入“ commons-lang3-3.1”时遇到问题。 我遇到了给定详细信息的问题。 错误消息如下。 它可以帮助您解决将commons-lang3-3.1.zip文件直接粘贴到libs文件夹中的问题。 那么,您认为对于zip格式,我会收到错误消息吗
1回复

Android(4.2、4.3)上的PhoneGap 3.1 Splashscreen:CordovaWebView:超时错误

问题: 由于我已经从PhoneGap 3.0.0更新到了3.1.0,因此我面临着这个问题。 编码 我的主Java中有以下代码: Config.xml的相关部分: Index.html ( onDeviceReady运行正常,但是hide()没什么区别):
2回复

验证android中的错误

我只是将简单的geo java项目转换为jar文件,然后将jar添加到android project的lib文件夹中。但是,当我应该运行时,出现以下错误。 java.lang.VerifyError:com.simplegeo.client.AbstractSimpleGeoClien
1回复

如何摆脱Android验证错误

我正在使用此方法来获取BroadCast地址数组。 一些使用的方法和类在旧的API中不存在,因此我在方法的开头添加了版本检查。我试图在Android 1.6模拟器上运行此检查,但由于验证错误而失败。 这些是出现的错误 android.os.Build.VERSION.SDK
2回复

Android 验证错误异常

我在我的应用程序中使用指纹传感器。 我知道 api 可用于棉花糖及以上操作系统。 因此,在我的班级中运行时,我正在动态检查 sdk 版本。 即使是指纹不执行的代码,我在 4.0 android os 上也面临以下异常,而在 5.0 及更高版本上执行相同的代码。 我发现由于在我的班级中遵循以下代
1回复

Android在3.1上创建XML

使用SDK 12时出现此错误。 在我的活动中,第175行是Transformer trans = transfac.newTransformer(); 。 这是我的代码:
1回复

如何使用 ASP.NET Core 3.1 将 Android 应用程序集成到 Identity Server 以进行身份​​验证?

我已经使用 Visual Studio 使用带有身份验证的 Angular 模板创建了 ASP.NET Core 项目。 现在我正在开发 Android 应用程序并希望将它与我现有的 ASP.NET CORE 3.1 WEB API(后端)集成。 我在 appsettings.json 中为我的 a
1回复

在Android上使用PowerMock验证错误

我正在尝试使用PowerMock来模拟用于测试我们的Android应用程序(例如BluetoothSocket)的一些类。 我已经在PowerMock的谷歌代码页上下载了所有依赖项的zip文件,并将它们添加到我的Android测试项目(包括构建路径)。 但是当我尝试使用PowerMo