What is the “Ignoring InnerClasses attribute” warning output during compilation?

試著忘記壹切 提交于 2019-12-17 06:11:46

问题


I am new to Android and am using the Ical4j library for parsing ICS (Outlook calendar) files.

However, when I build my application in Eclipse, the following warning appears many times in the console:

[2010-07-22 15:58:31 - Google Calendar Upload] warning: Ignoring InnerClasses attribute for an anonymous inner class that doesn't come with an associated EnclosingMethod attribute. (This class was probably produced by a broken compiler.)

Which implications does this have? How can I resolve this?


回答1:


This is quite common when including jar files. Although the warning isn't anything to worry about if you are just using the API normally, you should be able to get rid of them by compiling ical4j yourself from source within Eclipse (either build a new jar, or just drop the source into your own source folder). Though I should stress that unless you actually get problems, this isn't something to worry about.




回答2:


If your app and your libraries have all been built with a new JDK (7+) and you are still getting this, then you can fix this problem by telling Proguard to keep the enclosing method attribute. Just add the following to your Proguard rules:

-keepattributes EnclosingMethod




回答3:


I had the same error when using ksoap2 library.

To get rid of it I downloaded DJ Java Decompiler to decompile the .jar file to .java files. After that i compiled the .java files to a .jar file using eclipse.




回答4:


Update build tools and support libraries to the same version



来源:https://stackoverflow.com/questions/3308010/what-is-the-ignoring-innerclasses-attribute-warning-output-during-compilation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!