2015-07-29 5 views
4

Для дополнительной функции в приложении для Android я загрузил исходный код для некоторой сторонней библиотеки. Это было сделано для настройки.Сторонняя библиотека добавляется в каталог dexedLib, но в библиотеке нет классов .dex

Я использую Eclipse Juno.

Я создал проект из исходного кода, сделал настройку, построил JAR. И я использую библиотеку JAR в своем проекте. Код в моем приложении вызывает соответствующие функции библиотеки на определенном экране.

приложения компилируется нормально :)

Однако, когда я бег моего приложения и перейдите к экрану, где я делаю использование библиотеки классов, я сталкиваюсь с ClassNotFoundException для класса библиотеки.

Я поставил диагноз еще и заметил, что все файлы классов java преобразуются в DEX с помощью виртуальной машины Dalvik.

Все сторонние библиотеки помещаются в каталог dexedLib под bin, где обычный сторонний JAR включает каталог META-INF и файл classes.dex. Но, добавил я JAR, включил только каталог META-INF и NOT classes.dex. И, следовательно, Исключение.

Я не наблюдал никаких журналов, где Dalvik VM сообщает о событии с ошибкой преобразования.

Я очистил проект несколько раз, загрузил/перезагрузил проекты в Eclipse, но не повезло.

Также упоминается нижеследующая статья, в которой говорится о той же самой проблеме, но для него очистка проекта от Eclipse и его перезагрузка снова работали. android dexed lib is empty

Любая помощь будет оценена по достоинству.

ответ

1

, так как вы используете Eclipse, вероятно, проблема связана с тем, как что сборка создается:

перейти к: свойства проекта | Путь сборки Java | Заказ и экспорт

еще раз проверьте, что ваша банка в списке (вероятно, уже есть). , если да, установите флажок рядом с ним, чтобы контейнер был экспортирован при создании apk.

Наслаждайтесь ... PS. Я предлагаю вам перейти на Android Studio или в IntelliJ (отец студии Android). ADT для Eclipse устарел и больше не поддерживается.

+0

Библиотека уже существует под заказ и экспорт, а флажок уже отмечен. Но, тем не менее, он не работает. –

+1

попробуйте импортировать в Android Studio и посмотреть, работает ли он там ... – danysz

+0

Да, он отлично работает в Android Studio! все равно стоит знать, почему это не удается для моей библиотеки в Eclipse. В любом случае, я думаю, теперь я могу сосредоточиться на исследовательских темах моего проекта, чем на окружающей среде. Спасибо :) –