Dx警告:忽略InnerClasses ..对于org.apache.tools.ant

时间:2011-11-17 23:36:18

标签: android ant dx

我遇到了这组警告,导致内存溢出并最终导致Eclipse崩溃。

这是一个Android应用程序,其中包含twitter4J核心jar作为参考库。这是使用Google API(com.google.android。)所以我将目标设置为Google API而非普通ADK。

这是问题所在。

[2011-11-18 08:29:24 - Twitter] Dx警告:忽略匿名内部类的InnerClasses属性 (org.apache.tools.ant.taskdefs.Parallel $ 1)没有附带 关联的EnclosingMethod属性。这堂课可能是由一个 没有以现代.class文件格式为目标的编译器。推荐 解决方案是使用最新的编译器从源代码重新编译类 并且没有指定任何“-target”类型选项。无视的后果 这个警告是这个类的反射操作会不正确 表明是一个内部类。

这种警告继续大约20个内部类(taskdefs中约为6个),控制台中提到的所有内部类都来自org.apache.tools.ant。

我使用http://mac.softpedia.com/get/System-Utilities/Java.shtml

为Mac OS X Lion更新了Java SE 6到1.6

但问题仍然存在。我应该升级我的蚂蚁吗?我的蚂蚁版本是1.8.2。

2 个答案:

答案 0 :(得分:1)

这是使用JDK 1.4或更早版本编译的一些已使用库的结果。解决方案是将其全部重新编译为新的.jar文件,以便Android Mock使用

答案 1 :(得分:0)

编译项目时会发生这种情况。只需将此跟随添加到proguard-rules.pro文件中即可。警告将消失。

-keepattributes EnclosingMethod