2012-09-23 30 views
0

我在Android應用程序中收到警告,說我的bytecode makes illegal references to java.awt和某些情況下runtime seems to replace invalid opcodes在編譯時剝離Android Dex文件中的AWT引用

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文件不再有這些提法?

回答

0

你可以試試proguard。我不知道它是否可以在課堂中去除未使用的方法,或者只是去掉整個課程。如果是前者,它可能會擺脫違規引用。如果是後者,可能不是。

但無論如何,這些只是警告,而且大多是無害的。唯一的「傷害」是它增加了一點膨脹到你的dex文件,這需要一點額外的內存/磁盤空間。