在编译时从Android Dex文件中剥离AWT引用

在编译时从Android Dex文件中剥离AWT引用,android,jvm,dalvik,dex,dx,Android,Jvm,Dalvik,Dex,Dx,我在我的Android应用程序中收到警告,说我的字节码非法引用java.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

我在我的
Android
应用程序中收到警告,说我的
字节码非法引用java.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文件不再具有这些引用?

您可以尝试proguard。我不知道它是可以去掉类中未使用的方法,还是只去掉整个类。如果是前者,它很可能会删除冒犯性的引用。如果是后者,可能不是

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