- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
有人可以向我解释一下运行我的 Android 应用程序时以下警告的含义(警告按给定的顺序输出):
04-17 15:29:11.693: I/dalvikvm(4442): DexOpt: access denied from Lcom/kirona/iclient/db/core/services/impl/MiscDatabaseModuleDaoImpl; to field Lcom/kirona/iclient/database/common/impl/AbstractDatabaseModuleDao;.logger
04-17 15:29:11.653: W/dalvikvm(4442): VFY: unable to resolve static field 30 (logger) in Lcom/kirona/iclient/db/core/services/impl/MiscDatabaseModuleDaoImpl;
04-17 15:29:11.653: D/dalvikvm(4442): VFY: replacing opcode 0x62 at 0x0001
04-17 15:29:11.693: D/dalvikvm(4442): VFY: dead code 0x0046-006e in Lcom/kirona/iclient/db/core/services/impl/MiscDatabaseModuleDaoImpl;.getSequenceNextVal (Ljava/lang/String;)J
应用程序似乎运行良好,但我需要了解这个问题,因为我们有更复杂的应用程序,具有类似的错误,导致 dalvikvm 崩溃。
最佳答案
问题似乎是 MiscDatabaseModuleDaoImpl
类试图访问 AbstractDatabaseModuleDao.logger
字段,但由于访问限制(即私有(private)、 protected , ETC。)。在这种情况下,访问该字段的 sget-object 操作码(操作码 0x62)被替换为抛出验证异常的操作码,如果执行这可能会导致运行时崩溃。
此外,最后一条消息引用了 MiscDatabaseModuleDaoImpl.getSequenceNextVal
方法中的无效代码。这是无害的——它不会在运行时引起任何问题。但是,找出死代码的确切内容并将其删除并不是一个坏主意。您可以使用 baksmali 和 --code-offsets 选项反汇编您的应用程序,然后查看该方法的反汇编。 --code-offsets 选项将在包含偏移量的每条指令之前添加注释。根据错误消息,从 0x46 到 0x6e 的偏移量是死代码。附近还应该有 .line
指令,这将是原始 java 文件中的相应行号。
关于android - dalvik VM VFY代码的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10195445/
在 Delphi 7 中是否可以创建一个可以通过 Visual Form Inheritance 技术继承的抽象类?如果是这样,请提供一个例子。 任务是这样的。我想创建一个表单,作为其他两个表单的基本
我正在尝试在 Ubuntu 14.04 上安装一个需要以下命令的库: autoreconf -vfi 输出是 Usage: autoreconf [-f] [-h] [--help] [-m dir]
我今天回来工作,开始使用模拟器 (KitKat) 调试我的应用程序,我的应用程序运行正常。自上周五以来,我做了一些更改,但变化不大。 然后我转到设备 (Gingerbread) 并注意到上周运行的应用
我在我的 android 应用程序中使用 Jackson。 我在我的构建路径中添加了这两个 jar : jackson-core-asl-1.0.0.jar jackson-mapper-asl-1.
我正在使用 android studio 2.0,上次我将 jdk 7 升级到 jdk 8,我正在对文件 gradle 进行一些更改,但现在我收到此错误 E/InstantRun: Could not
我有一个简单的 android 应用程序,它在其构建路径上使用了一个 modbus 库(“jamod”)。它在我运行时立即崩溃。我在这个问题上有基本相同的问题:Getting "Caused by:
我的应用程序一切正常。然后,我做了一个小的重构,一个关键组件停止工作了。当我查看 LogCat 输出时,这是我发现的: WARN/dalvikvm(488): VFY: unable to resol
我在我的程序中使用了 SmsCbMessage.java 类。它取自 http://grepcode.com/file/repository.grepcode.com/java/ext/com.goo
我经常遇到这个错误...尤其是在访问一个类的私有(private)方法时...真的不知道这是怎么回事...我也无法从谷歌中找到太多解释.. 我只是在这里发布了一个导致异常的例子: 我有一个 SyncA
我的 Android 项目中有一个 jar 库,在运行应用程序时我开始遇到很多错误: VFY: unable to find class referenced in signature Failed
我目前正在为 Android 开发一个 Wrapper,它包装了一个 androidapk 与一些 DRM 相关的东西..顺便说一下 Android Activity .. 我创建的 Activity
我遇到了这个奇怪的错误,我不知道是什么原因造成的...完整的 LogCat: 06-24 13:15:07.878: W/dalvikvm(20470): VFY: unable to find cl
我在 Android 应用程序上遇到了 java.lang.VerifyError。 我用 Google 搜索并遇到了各种验证错误,但找不到发生这种情况的可靠原因。 这是堆栈跟踪。 我正在使用 And
我是一名优秀的程序员,十分优秀!