2013-06-04 3 views
0

Я пытаюсь использовать Java и библиотеку Android (которую я создал) для использования в моем приложении Android, построенном в Eclipse.Ссылки на внешние библиотеки Java и Android

Я ссылаюсь на библиотеку Java через Свойства -> Путь сборки Java -> Проекты -> Добавить.
Я ссылаюсь на библиотеку Android через Свойства -> Android -> Библиотека -> Добавить.

Оба эти изображения показаны в окнах после их добавления. Я также переместил библиотеку Java в начало списка в Properties -> Java Build Path -> Order and Export.

Мой проект компилируется нормально, но когда я запускаю приложение на своем устройстве, я получаю NoClassDefFoundError из библиотеки Java. Класс там и должен работать.

Я пропустил что-то, что мне нужно для ссылки, чтобы это нормально работает?

+0

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

ответ

1

Я ссылаюсь на библиотеку Java через Свойства -> Путь сборки Java -> Проекты -> Добавить.

Это неверное описание. Отмените это, а затем скопируйте JAR в libs/ в свой проект. Если вы используете R22 или более высокую версию инструментов, вам также может понадобиться go to "Order and Export" in your build path dialog and check "Android Private Libraries".

Что вы только что добавили JAR на путь компиляции. Помещение JAR в libs/ добавит его на путь компиляции и упакуйте содержимое JAR в APK, чтобы эти классы были доступны во время выполнения.

+0

Он просто добавил JAR в папку libs и проверил «Android Dependencies», в диалоговом окне пути построения, и я все еще получаю NoClassDefFoundError. Я не слишком уверен, что еще я могу попробовать, помимо добавления этих библиотек непосредственно в приложение Android. – Matt

+0

@Matt: Я сказал, чтобы проверить «частные библиотеки Android», а не «Android Dependencies», если вы используете инструменты R22. – CommonsWare

+0

Он должен быть новым в R22? Я обновлю и вернусь к вам. Спасибо за помощь до сих пор. – Matt

Смежные вопросы