Недавно я обнаружил проблему. Иногда я неоднократно добавляю jar и удаляю jar в проект Android и обнаруживаю, что компиляция может пройти, но когда она применяется к объекту внешнего jar, выдается исключение java.lang.NoClassDefFoundError. во время работы. Вызвать сбой программы.
Проверьте свойства проекта и обнаружите, что элемент «Зависимости Android» в пути сборки Java меньше, чем у обычного проекта:
Сравнивая с проектом до потери, мы обнаружили, что разница заключается в файле .classpath в корневом каталоге проекта, <classpathentry Exported="true" kind="con" path="com.android.ide.eclipse.adt" .LIBRARIES"/ >Экспортированное здесь значение стало ложным, поэтому я изменил его обратно на true, затем закрыл и снова открыл проект и обнаружил, что все в порядке.
Кроме того, если импортированный вами jar-пакет не помещен в каталог /libs каталога проекта, эта проблема также возникнет. Поместите jar-пакет в каталог /libs. В противном случае, несмотря на то, что компиляция может пройти, jar-файл все же будет выполнен. не упаковываться при упаковке, поэтому это вызывает указанное выше исключение. Eclipse автоматически упаковывает файлы в каталог /libs при компиляции.
Эта проблема раньше не возникала. Я не знаю, связана ли она с версией Eclipse и версией ADT.