2010-07-22 3 views
41

Я новичок в Android и пользуюсь библиотекой Ical4j для разбора файлов ICS (Outlook Calendar).Каков атрибут «Игнорирование InnerClasses» во время компиляции?

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

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

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

ответ

29

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

+0

Подробнее Плис, я не понимаю, что делать =/ – cheloncio

+0

@zhelon, если это не вызывает у вас проблемы, которые вам действительно не нужно делать. – Nick

+16

Есть ли способ подавить это предупреждение? Я сильно поглощен им. – Malabarba

4

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

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

+6

Вы можете просто перекомпилировать исходный код, а не декомпилировать. Это на github. Также эта проблема возникает из компиляции ksoap2-android для java 1.3. –

+1

Я не нашел правильных источников для версии, которую использовал, но спасибо за ваш комментарий. –

31

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

-keepattributes EnclosingMethod

+7

Это не работает для меня ... –

+3

Работает для меня, спасибо –

+0

никакого эффекта для меня. что помогло мне в том, чтобы очистить проект, а затем сделать проект. – Belial09

1

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

+1

Хотя этот ответ мог бы содержать более подробную информацию о «почему», это помогло бы это не ошибочный ответ ... Это просто не помогает понять проблему – MOnsDaR

Смежные вопросы