编译期间"Ignoring InnerClasses属性"警告输出是什么?

RMK*_*RMK 41 android compiler-warnings

我是Android新手,我正在使用该Ical4j库来解析ICS(Outlook日历)文件.

但是,当我在Eclipse中构建应用程序时,控制台中会多次出现以下警告:

[2010-07-22 15:58:31 - Google日历上传]警告:忽略没有关联的EnclosingMethod属性的匿名内部类的InnerClasses属性.(这个类可能是由一个破碎的编译器产生的.)

这有什么影响?我该如何解决这个问题?

Wil*_*iam 31

如果您的应用程序和库都使用新的JDK(7+)构建,并且您仍然可以使用它,那么您可以通过告诉Proguard保留封闭方法属性来解决此问题.只需将以下内容添加到您的Proguard规则中:

-keepattributes EnclosingMethod

  • OP引用的这个警告来自DEX,而不是ProGuard; 我正在编译测试源,我不知道如何添加ProGuard选项,如果没有使用它会有所帮助. (3认同)

Nic*_*ick 29

包含jar文件时这很常见.虽然如果你只是正常使用API​​,警告并不需要担心,你应该能够通过在Eclipse中从源代码编译ical4j来摆​​脱它们(构建一个新的jar,或者只是将源代码放入你的自己的源文件夹).虽然我应该强调,除非你真的遇到问题,否则不用担心.

  • 有没有办法压制这个警告?我正在大肆宣传它. (16认同)