0

我在我的Android应用程序中收到警告,说我的bytecode makes illegal references to java.awt,在某些情况下是runtime seems to replace invalid opcodes.

09-22 19:36:41.688: W/dalvikvm(831): VFY: unable to find class referenced in signature (Ljava/awt/Component;)
09-22 19:36:41.688: W/dalvikvm(831): VFY: unable to resolve virtual method 523:   Ljava/awt/Component;.isLightweight ()Z
09-22 19:36:41.688: D/dalvikvm(831): VFY: replacing opcode 0x6e at 0x0000

我可以做些什么来告诉DX工具更早地清除或替换这些引用(比如在编译时),以便生成的 dex 文件不再有这些引用?

4

1 回答 1

0

你可以试试proguard。我不知道它是否可以去除类中未使用的方法,或者它是否只去除整个类。如果是前者,它可能会摆脱有问题的引用。如果是后者,可能不会。

但无论如何,这些只是警告,而且大多是无害的。唯一的“危害”是它会给你的 dex 文件增加一点膨胀,这需要一点额外的内存/磁盘空间。

于 2012-09-23T00:34:44.677 回答