Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the "Ignoring InnerClasses attribute" warning output during compilation?

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?

like image 838
RMK Avatar asked Jul 22 '10 10:07

RMK


3 Answers

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

like image 171
William Avatar answered Nov 07 '22 19:11

William


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.

like image 29
Nick Avatar answered Nov 07 '22 19:11

Nick


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.

like image 4
Dominik Mohr Avatar answered Nov 07 '22 18:11

Dominik Mohr