我是Android的新用户,正在使用Ical4j
库来解析ICS(Outlook日历)文件。
但是,当我在Eclipse中构建应用程序时,控制台中会多次出现以下警告:
[2010-07-22 15:58:31 - Google Calendar Upload]警告:忽略没有关联的EnclosingMethod属性的匿名内部类的InnerClasses属性。 (这个类可能是由一个破碎的编译器产生的。)
这有什么影响?我该如何解决这个问题?
答案 0 :(得分:31)
如果您的应用程序和库都是使用新的JDK(7+)构建的,并且您仍然可以使用它,那么您可以通过告诉Proguard保留封闭方法属性来解决此问题。只需将以下内容添加到您的Proguard规则中:
-keepattributes EnclosingMethod
答案 1 :(得分:29)
包含jar文件时这很常见。虽然如果你只是正常使用API,警告并不需要担心,你应该能够通过在Eclipse中从源代码编译ical4j来摆脱它们(构建一个新的jar,或者只是将源代码放入你的自己的源文件夹)。虽然我应该强调,除非你真的遇到问题,否则不用担心。
答案 2 :(得分:4)
使用ksoap2库时遇到了同样的错误。
为了摆脱它,我下载了DJ Java Decompiler来将.jar文件反编译为.java文件。 之后,我使用eclipse将.java文件编译为.jar文件。
答案 3 :(得分:1)
将构建工具和支持库更新到同一版本