2012-11-24 1 views
6

Я создаю приложение для Android в ADT v21.0.0. Это приложение должно использовать библиотеку protobuf, которую я собрал в банку.Java Protobuf в Android - NoClassDefFoundError

Поместив эту банку, а также protobuf-java-2.4.1.jar в мою папку libs /, Eclipse распознает ее во время сборки, однако всякий раз, когда я пытаюсь запустить приложение в своем эмуляторе Android, я получаю NoClassDefFoundError исключение при попытке создать экземпляр одного из моих автоматически созданных пользовательских классов, созданных компилятором protobuf.

Я видел много советов относительно наименования папки libs/folder (по-видимому, предыдущее обновление ADT нарушило это, потребовав, чтобы/lib-папка была/libs), а также добавив .jars явно из " Java Build Path "(и проверка баннеров в области« Заказ и экспорт »).

Однако ничто из этого не помогло, и мне интересно, есть ли что-то более фундаментальное, предотвращающее распознавание классов protobuf во время выполнения.

Примечание: если я создаю стандартное приложение Java в Eclipse, я могу использовать мои прото-классы просто отлично. Это только проблема при запуске приложения для Android.

+1

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

+0

Это настраиваемый класс, автоматически генерируемый из моих спецификаций сообщений protobuf, поэтому я не уверен, что это поможет. Тем не менее, я отредактировал сообщение, чтобы прямо указать это. Благодаря! – ricklane

+0

Пожалуйста, добавьте трассировку стека печати в свой пост. – Visruth

ответ

0

кажется, что ваш проект недостающую библиотеку, что ваш автоматически сгенерированный баночка depends..and не находится на устройстве или эмуляторе ..