【问题标题】:Dx warning: Ignoring InnerClasses .. for org.apache.tools.antDx 警告:忽略 InnerClasses .. for org.apache.tools.ant
【发布时间】:2011-11-17 23:36:18
【问题描述】:

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

这是一个包含 twitter4J 核心 jar 作为参考库的 Android 应用程序。这是使用 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 个内部类(taskdefs 中大约 6 个),并且控制台中提到的所有内部类都来自 org.apache.tools.ant。

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

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

【问题讨论】:

  • 当然我清理并重建了,但还是一样。
  • 你解决了吗?我也有这个,不知道怎么办

标签: android ant dx


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    -keepattributes EnclosingMethod
    

    【讨论】:

      猜你喜欢
      • 2015-01-15
      • 1970-01-01
      • 2017-02-12
      • 2018-06-25
      • 2011-03-19
      • 2016-07-29
      • 2018-03-18
      • 2017-02-13
      相关资源
      最近更新 更多