Java (Android) - класс не найден, исключение - PullRequest
1 голос
/ 07 августа 2011

Я пытаюсь сделать несколько простых вещей FTP в Android. После небольшого исследования я решил использовать apache-commons-net . Вот шаги, которые я предпринял, чтобы заставить его работать в Eclipse.

  1. Загрузил пакет отсюда и распаковал его локально.
  2. В Eclipse, чтобы добавить эту новую библиотеку, я захожу в (Окно>) Настройки> Java> Путь сборки> Пользовательские библиотеки , нажимаю Создать , назовите ее apache-commons-net, затем Добавьте JAR ... к нему, выбрав .jar файлы, которые пришли в загрузку.
  3. Для каждого .jar я добавляю Исходное вложение как , описанное здесь.
  4. После этого я щелкаю правой кнопкой мыши по своему проекту и выбираю Свойства> Путь сборки Java> Библиотеки , нажимаю Добавить библиотеку ...> Библиотека пользователя> (Далее>) и выбираю apache-commons-net> Готово . Затем библиотека отображается рядом с Android 2.2 на вкладке Библиотеки .

Я начинаю программировать, и завершение кода работает нормально для классов / методов / и т. Д. из этой библиотеки. Включены операторы импорта и т. Д. Кажется, все работает как надо. Проблема в том, что когда я запускаю приложение, оно принудительно закрывается, и мой LogCat в Eclipse показывает следующую ошибку:

Не удалось найти класс 'org.apache.commons.net.ftp.FTPClient', на который ссылается метод <...>
...
Вызывается: java.lang.NoClassDefFoundError: org.apache.commons.net.ftp.FTPClient

Кажется, я все правильно настроил, так почему выполнение жалуется, что не может найти класс ???

Любые идеи или помощь с благодарностью.

  • Ян

1 Ответ

6 голосов
/ 07 августа 2011

Вам необходимо скопировать файлы jar в каталог libs проекта. ADK выбирает библиотеки из этой папки и преобразует их в классы, оптимизированные для Dalvik.

Редактировать

Возможно, в этом вопросе содержится дополнительная информация: Импорт внешнего файла .jar в проект Android

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...