Dx 警告:忽略 org.apache.tools.ant 的内部类 ..

发布于 2024-12-16 19:36:52 字数 752 浏览 1 评论 0原文

我遇到了这组警告,它导致内存溢出并最终导致 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) 没有附带 关联的 EnclosureMethod 属性。这个类可能是由 不针对现代 .class 文件格式的编译器。推荐的 解决方案是使用最新的编译器从源代码重新编译该类 并且不指定任何“-target”类型选项。忽视的后果 此警告是对该类的反射操作将错误地 表明它不是内部类。

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

我使用 http://mac 将 Mac OS X Lion 的 Java SE 6 更新为 1.6。 softpedia.com/get/System-Utilities/Java.shtml

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

I encountered this set of warnings which made memory overflow and eventually crashed Eclipse.

This is an Android application with twitter4J core jar included as a reference library. This is using Google APIs (com.google.android.) so I set the target to Google APIs not general ADK.

Here's the problem.

[2011-11-18 08:29:24 - Twitter] Dx warning: Ignoring InnerClasses attribute for an anonymous inner class
(org.apache.tools.ant.taskdefs.Parallel$1) that doesn't come with an
associated EnclosingMethod attribute. This class was probably produced by a
compiler that did not target the modern .class file format. The recommended
solution is to recompile the class from source, using an up-to-date compiler
and without specifying any "-target" type options. The consequence of ignoring
this warning is that reflective operations on this class will incorrectly
indicate that it is not an inner class.

This kind of warning continues to an amount of approx 20 inner classes (about 6 in taskdefs), and all inner classes mentioned in the console are from org.apache.tools.ant.

I updated Java SE 6 to 1.6 for Mac OS X Lion with http://mac.softpedia.com/get/System-Utilities/Java.shtml,

but still the problem exists. Should I upgrade my ant? my ant version is 1.8.2.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

秉烛思 2024-12-23 19:36:52

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

This is a result of some of the used libraries having been compiled with JDK 1.4 or earlier. The solution is to recompile it all into new .jar files for Android Mock to use

梦途 2024-12-23 19:36:52

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

-keepattributes EnclosingMethod

This happen when compile the project.Just add this follow into your proguard-rules.pro file. The warning will disappear.

-keepattributes EnclosingMethod
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文