Подтвердить что ты не робот

Что такое предупреждающий вывод "Игнорирование InnerClasses" во время компиляции?

Я новичок в Android и использую библиотеку Ical4j для разбора файлов ICS (Outlook Calendar).

Однако, когда я создаю свое приложение в Eclipse, в консоли много раз появляется предупреждение:

[2010-07-22 15:58:31 - Google Calendar Upload] предупреждение: Игнорирование атрибута InnerClasses для анонимного внутреннего класса, который не связан с ассоциированным атрибутом EnclosingMethod. (Этот класс, вероятно, был создан сломанным компилятором.)

Какие последствия у этого есть? Как я могу это решить?

4b9b3361

Ответ 1

Это довольно часто встречается при включении файлов jar. Хотя предупреждение не о чем беспокоиться, если вы просто используете API в обычном режиме, вы должны быть в состоянии избавиться от них, скомпилировав ical4j самостоятельно из источника в Eclipse (либо создайте новую банку, либо просто поместите источник в свой собственная исходная папка). Хотя я должен подчеркнуть, что, если у вас нет проблем, это не о чем беспокоиться.

Ответ 2

Если ваше приложение и ваши библиотеки все были созданы с помощью нового JDK (7+), и вы все еще получаете это, вы можете исправить эту проблему, сообщив Proguard о сохранении атрибута вложенного метода. Просто добавьте следующие правила Proguard:

-keepattributes EnclosingMethod

Ответ 3

У меня была такая же ошибка при использовании библиотеки ksoap2.

Чтобы избавиться от него, я загрузил DJ Java Decompiler для декомпиляции файла .jar в .java файлы. После этого я скомпилировал файлы .java в файл .jar, используя eclipse.

Ответ 4

Обновите инструменты сборки и поддерживайте библиотеки в той же версии