Я сделал следующее:
- Создайте рабочий проект Android (не библиотечный или тестовый проект) в Eclipse. У него есть один пакет с именем X с активностью X.A.
- Создайте новый Java-пакет Y в вышеупомянутом проекте с хотя бы одним классом Y.C.
- Позвоните Y.C изнутри X.A (то есть вызовите что-то в новом пакете из исходного пакета, который ранее работал).
- Сборка и запуск проекта Android.
Он прекрасно собирается, но выдает NoClassDefFoundError в первой строке, используя Y.C, говоря, что не может найти Y.C. Когда я Refactor -> Переместить Y.C в пакет X (так что теперь это X.C), исключение времени выполнения больше не выдается. Что не так?
Неясный намек: я читал, что подобные проблемы могут возникать, когда пути к классам во время сборки и во время выполнения каким-то образом не синхронизируются, но я пока не нашел, как устранить неполадки или устранить проблему.