3

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

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

这就是问题所在。

[2011-11-18 08:29:24 - Twitter] Dx 警告:忽略不附带关联 EnclosureMethod 属性的匿名内部类 (org.apache.tools.ant.taskdefs.Parallel$1) 的 InnerClasses 属性。此类可能是由不针对现代 .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。

4

2 回答 2

1

这是因为一些使用的库是用 JDK 1.4 或更早版本编译的。解决方案是将其全部重新编译成新的 .jar 文件供 Android Mock 使用

于 2012-02-09T07:51:34.167 回答
0

编译项目时会发生这种情况。只需将以下内容添加到您的 proguard-rules.pro 文件中。警告将消失。

-keepattributes EnclosingMethod
于 2016-05-13T08:48:46.803 回答