Я создаю приложение для 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.
Пожалуйста обновить ваш вопрос, чтобы включить полное имя класса, который не был найден. –
Это настраиваемый класс, автоматически генерируемый из моих спецификаций сообщений protobuf, поэтому я не уверен, что это поможет. Тем не менее, я отредактировал сообщение, чтобы прямо указать это. Благодаря! – ricklane
Пожалуйста, добавьте трассировку стека печати в свой пост. – Visruth